1、time和datetime时间模块
① 基本操作
代码示例如下:
import time, datetime # 获取当前时间 moment = time.localtime() print("年:%s" % moment[0]) print("月:%s" % moment[1]) print("日:%s" % moment[2]) print("时:%s" % moment[3]) print("分:%s" % moment[4]) print("秒:%s" % (moment[5] + 1)) print("周几:%s" % (moment[6] + 1)) print("一年第几天:%s" % moment[7]) print("是否为夏令时:%s" % moment[8], end="\n\n") # 格式化时间(这里要注意strftime和strptime是不一样的!!!) moment1 = time.strftime('%Y-%m-%d %H:%M:%S') moment2 = time.strftime('%a %b %d %H:%M:%S %Y', time.localtime()) moment3 = time.mktime(time.strptime(moment2, '%a %b %d %H:%M:%S %Y')) print(moment1) print(moment2) print(moment3, end="\n\n") # 获得当前时间戳 print(time.time()) # 秒级 print(int(round(time.time() * 1000)), end="\n\n") # 毫秒级 # 获得当前时间(时间数组,还需strftime格式化下) print(datetime.datetime.now(), end="\n\n") # 时间戳转换为时间 # 方法一: moment4 = 1512184082 moment5 = time.localtime(moment4) # 转换成时间数组 print(time.strftime('%Y-%m-%d %H:%M:%S', moment5), end="\n\n") # 格式化 # 方法二: moment6 = datetime.datetime.utcfromtimestamp(moment4) print(moment6) moment7 = moment6.strftime('%a %b %d %H:%M:%S %Y') print(moment7, end="\n\n") # 代码延迟执行 time.sleep(5)
运行结果如下:
年:2019 月:3 日:14 时:11 分:41 秒:57 周几:4 一年第几天:73 是否为夏令时:0 2019-03-14 11:41:56 Thu Mar 14 11:41:56 2019 1552534916.0 1552534916.3338902 1552534916334 2019-03-14 11:41:56.333890 2017-12-02 11:08:02 2017-12-02 03:08:02 Sat Dec 02 03:08:02 2017
② struct_time,字符串,时间戳之间的转换关系
③ Python中的时间日期格式化符号
如下表所示,参考时间为(20190314 13:53:41)
符号 | 描述 | 示例 |
%y | 两位数的年份表示(00-99) | 19 |
%Y | 四位数的年份表示(000-9999) | 2019 |
%m | 月份(01-12) | 03 |
%d | 月内中的一天(0-31) | 14 |
%H | 24小时制小时数(0-23) | 13 |
%I | 12小时制小时数(01-12) | 01 |
%M | 分钟数(00=59) | 53 |
%S | 秒(00-59) | 41 |
%a | 星期几的英文简写 | Thu |
%A | 星期几的英文 | Thursday |
%b | 月份的英文简写 | Mar |
%B | 月份的英文 | March |
%x | 日期 | 03/14/19 |
%X | 时间 | 13:59:04 |
%c | 日期和时间 | Thu Mar 14 13:54:56 2019 |
%j | 一年中第几天 | 073 |
%p | 以AM和PM的方式显示上午还是下午 | PM |
%U | 一年中的第几周,周天为一周的第一天 | 10 |
%W | 一年中的第几周,周一为一周的第一天 | 10 |
%w | 一周中的第几天,周天为0,周一为1 | 4 |
%z,%Z | 当前时区的名称 | |
%% | %号自身 | % |