时间模块time,datetime
时间模块用的很多,用途日志记录,程序使用时间等等
几个常用的方法如下:
import time
time.localtime()
time.struct_time(tm_year=2019, tm_mon=11, tm_mday=19, tm_hour=18, tm_min=36, tm_sec=8, tm_wday=1, tm_yday=323, tm_isdst=0)
获取一个时间元组,其中tm_wday为每周的第几天,Monday为第一天,0开始的,所以周二是1,tm_isdst为是否为夏令时,是为1
time.localtime输出结果为一个元组
其实这个模块的核心就是这个元组,其他的方法都是要么调用元组去输出标准格式,要么就是通过标准输出格式输出元组,或者时间戳
例如:
time.time()
1574215177.379813
生成一个时间戳,时间戳是相对于1970年提供的时间信息,是可以转化为现有时间的
time.gmtime()
time.struct_time(tm_year=2019, tm_mon=11, tm_mday=20, tm_hour=2, tm_min=8, tm_sec=46, tm_wday=2, tm_yday=324, tm_isdst=0)
.gmtime默认是UTC现在的时间,可以传入时间戳信息,转化为UTC时间
x=time.localtime()
tiime.mktime(x)
output:1574219564.0
time.mktime()可以将时间元组转化为时间戳
time.strftime(format[,tuple]) ->string 将时间元组转化为格式话字符串:
%Y Year with century as a decimal number.
%m Month as a decimal number [01,12].
%d Day of the month as a decimal number [01,31].
%H Hour (24-hour clock) as a decimal number [00,23].
%M Minute as a decimal number [00,59].
%S Second as a decimal number [00,61].
%z Time zone offset from UTC.
%a Locale's abbreviated weekday name.
%A Locale's full weekday name.
%b Locale's abbreviated month name.
%B Locale's full month name.
%c Locale's appropriate date and time representation.
%I Hour (12-hour clock) as a decimal number [01,12].
%p Locale's equivalent of either AM or PM.
测试:
time.strftime("%H-%m-%S %Y-%m-%d",x)
'11-11-44 2019-11-20'
这里的格式可以自己设定,年和时都可以随便搭配,但最好还是符合一定规则
time.strptime(string,format)-> 将格式化字符串 转化成时间元组
time.strptime("11-11-44 2019-11-20","%H-%M-%S %Y-%m-%d")
time.struct_time(tm_year=2019, tm_mon=11, tm_mday=20, tm_hour=11, tm_min=11, tm_sec=44, tm_wday=2, tm_yday=324, tm_isdst=-1)
time.asctime() 将时间元组 -> 转化为特殊格式的 与linux date 输出一致
time.asctime(x)
'Wed Nov 20 11:12:44 2019'
time.ctime() 可以传入时间戳,默认传入本地时间-> 格式与linux date 格式一致
time.ctime()
Out[11]: 'Wed Nov 20 11:43:12 2019'
time.ctime(111560)
Out[12]: 'Fri Jan 2 14:59:20 1970'
time.ctime(1574215177)
Out[13]: 'Wed Nov 20 09:59:37 2019'
网友评论