time模块,补上之前拉下的作业。
time,时间模块比较重要,但不难学,主要是要学会转换时间格式。计算机的时间都是时间戳。人是看不懂的。写出时间转换的固定格式语句。import time # 首先就是引入时间模块。
time.time() # 取得当前时间的时间戳。时间戳就是从1970.1.1日零点开始,每秒钟加一,所有秒数加起来得到的一个数字。哦,python中时间有三种表现形式(真复杂)。1.时间戳是给机器看的(time.time())。2.格式化时间(strftime),根据我们的需要来格式化时间的显示。3.结构化时间(struct_time),可以把时间进行分类,如年,月,日等等。格式化时间固定语句如下:
s = time.strftime('%Y-%m-%d %H:%M:%S') # 这里的格式为:2019-02-24 23:18:43
print(s)
日期格式化标准(照抄老师教案,手动惭愧):
%y 两位数的年年份表示(00-99)
%Y 四位数的年年份表示(000-9999)
%m ⽉月份(01-12)
%d ⽉月内中的⼀一天(0-31)
%H 24⼩小时制⼩小时数(0-23)
%I 12⼩小时制⼩小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的⽉月份名称
%B 本地完整的⽉月份名称
%c 本地相应的⽇日期表示和时间表示
%j 年年内的⼀一天(001-366)
%p 本地A.M.或P.M.的等价符
%U ⼀一年年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W ⼀一年年中的星期数(00-53)星期⼀一为星期的开始
%x 本地相应的⽇日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
打印结构化时间:
print(time.localtime()) # 打印结果为:time.struct_time(tm_year=2019, tm_mon=2, tm_mday=24, tm_hour=23, tm_min=29, tm_sec=31, tm_wday=6, tm_yday=55, tm_isdst=0)
给定一个时间,转换为格式化时间。
ti = time.localtime(1234567890) # 在localtime的括号里可以给定一个时间戳数字。就可以把这个时间戳转换为格式化时间。
print(ti) # 打印结果为:time.struct_time(tm_year=2009, tm_mon=2, tm_mday=14, tm_hour=7, tm_min=31, tm_sec=30, tm_wday=5, tm_yday=45, tm_isdst=0)
这样就可以很容易得取得格式化时间的各个部分了。
t = time.localtime(1234567890) # 结构化时间
s = time.strftime("%Y-%m-%d %H:%M:%S", t) # 格式化这个时间
print(s) # 打印结果为:2009-02-14 07:31:30, 这是人能看懂的时间格式
实现反过来的功能(格式化时间转换成时间戳):
s = "2020-10-01 12:18:12"
t = time.strptime(s, "%Y-%m-%d %H:%M:%S") # 转化成结构时间
print(time.mktime(t)) # 转换成时间戳
转来转去的关键就是locltime(),结构化时间是时间戳和格式化时间之间的桥梁。必须先转化为结构化时间,才能用strftime和strptime继续转化。
时间差的计算:
import time
true_time=time.mktime(time.strptime('2017-09-11 08:30:00','%Y-%m-%d%H:%M:%S'))
time_now=time.mktime(time.strptime('2017-09-12 11:00:00','%Y-%m-%d%H:%M:%S'))
dif_time=time_now-true_time
struct_time=time.localtime(dif_time)
print(struct_time)
print('过去了%d年%d月%d天%d小时%d分钟%d秒'%(struct_time.tm_year-1970,struct_time.tm_mon-1,struct_time.tm_mday,struct_time.tm_hour,struct_time.tm_min,struct_time.tm_sec))
最新文章
- 使用node+vue.js实现SPA应用,nodevue.jsspa应用
- HTTP &; HTTPs
- Garbage Collection C++
- iOS 加急申请每个开发者必须会
- SSH 创建证书认证
- .NET面试题解析(07)-多线程编程与线程同步 (转)
- miniUI 可编辑datagrid获取值的问题
- 执行bat文件
- [Arduino] Arduino Uno R3 中文介绍
- 百度地图BMap API实例
- 【C语言】中的stdbool.h头文件
- QT中的pro文件的编写
- Linux系统开机启动流程
- C&;C++ Calling Convention
- linux中去掉^M的方法
- python 链接数据库错误
- Java枚举的小知识点
- redis 在 php 中的应用(Connection [ 连接] 篇)
- 今日总结(linux和plsql)
- 如何用Qt自动拷贝exe依赖的dll
热门文章
- javascript下将字符类型转换成布尔值
- Unity3D游戏,TCP,WEBCOSKT,HTTP通信架构 weaving-socket
- luogu 3958 奶酪
- 2017阿里给Java开发者的两个福利
- bzoj3196 二逼平衡树——线段树套平衡树
- CAS和Oauth2的区别
- bzoj 1706: [usaco2007 Nov]relays 奶牛接力跑【矩阵乘法+Floyd】
- Nginx(一) 安装基于centos7
- golang——随机数(math/rand包与crypto/rand包)
- SVN安装失败提示