time 模块:
在python 中,表示时间的方式:
- 时间戳
- 格式化的时间字符串
- 元组(struct_time)
UTC 时间,即格林威治天文时间,为世界标准时间,中国的时区为UTC+8
时间戳:表示自1970年unix系统诞生以来到现在的所有秒数。
元组方式表示时间(struct_time) : struct_time 共有9个元素,返回strct_time的函数主要有gtime(),localtime(),strptime()
格式化的时间字符串
time.strptime
1.以元组的方式返回当地时间:
print(time.localtime())
time.struct_time(tm_year=2017, tm_mon=12, tm_mday=10, tm_hour=18, tm_min=14, tm_sec=18, tm_wday=6, tm_yday=344, tm_isdst=0)
2.以元组的方式返回格林威治时间
print(time.gmtime())
time.struct_time(tm_year=2017, tm_mon=12, tm_mday=10, tm_hour=10, tm_min=17, tm_sec=28, tm_wday=6, tm_yday=344, tm_isdst=0)
3.将元组时间转换为时间戳
t = time.localtime()
print(time.mktime(t))
1512901134.0
4.将元组时间转换为字符串格式时间
t = time.localtime()
print(time.strftime('%Y-%m-%d %H:%M:%S',t))
2017-12-10 18:27:43
5.将字符串格式时间转换为元组格式时间
t = time.strptime('2017-12-10 17:03:12','%Y-%m-%d %H:%M:%S')
print(time.struct_time(t))
time.struct_time(tm_year=2017, tm_mon=12, tm_mday=10, tm_hour=17, tm_min=3, tm_sec=12, tm_wday=6, tm_yday=344, tm_isdst=-1)
格式参照:
字符串 功能
%a 本地(locale)简化星期名称
%A 本地完整星期名称
%b 本地简化月份名称
%B 本地完整月份名称
%c 本地相应的日期和时间表示
%d 一个月中的第几天(01 - 31)
%H 一天中的第几个小时(24小时制,00 - 23)
%I 第几个小时(12小时制,01 - 12)
%j 一年中的第几天(001 - 366)
%m 月份(01 - 12)
%M 分钟数(00 - 59)
%p 本地am或者pm的相应符
%S 秒(01 - 61)
%w 一个星期中的第几天(0 - 6,0是星期天)
%W 和%U基本相同,不同的是%W以星期一为一个星期的开始。
%x 本地相应日期
%X 本地相应时间
%y 去掉世纪的年份(00 - 99)
%Y 完整的年份
%Z 时区的名字(如果不存在为空字符)
%% %’字符
%U 一年中的周数。(00 - 53,周日是一个周的开始。)第一个星期天之前的所有天数都放在第0周
字符串的格式化:
print("%s-%s" % (time.localtime().tm_year,time.localtime().tm_mon))
2017-12
%s是string占位符,表示将来会有一个string类型的字符串会占用这个位置
%d是digit占位符,表示将来会有一个digit类型的数字占用
%f 是浮点类型占位符,表示会有浮点类型的数字占用。