时间模块
-
>>> import time >>> dir(time) ['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__',
'__spec__', 'altzone', 'asctime', 'clock', 'ctime', 'daylight', 'get_clock_info',
'gmtime', 'localtime', 'mktime', 'monotonic', 'perf_counter', 'process_time', 'sleep',
'strftime', 'strptime', 'struct_time', 'time', 'timezone', 'tzname'] -
介绍常用的方法
-
time.time() # 时间戳
>>> time.time() 1543762554.8899534 # 1970元年到现在的描述
-
结构化时间
# time.localtime() 本地时间,东八区 >>> time.localtime() time.struct_time(tm_year=2018, tm_mon=12, tm_mday=2, tm_hour=23, tm_min=3, tm_sec=57, tm_wday=6, tm_yday=336, tm_isdst=0) # time.gmtime() 世界标准时间 >>> time.gmtime() time.struct_time(tm_year=2018, tm_mon=12, tm_mday=2, tm_hour=15, tm_min=4, tm_sec=22, tm_wday=6, tm_yday=336, tm_isdst=0)
-
格式化时间
# time.strftime() >>> time.strftime('%Y-%m-%d') '2018-12-02'
-
time.sleep() 睡眠
-
-
其中计算机认识的时间只能是'时间戳'格式,而程序员可处理的或者说人类能看懂的时间有: '格式化的时间字符串','结构化的时间' ,于是有了下图的转换关系
-
了解了三种时间格式之后,可以在格式之间进行格式转换
# 结构化时间转换为时间戳时间 >>> time.mktime(time.localtime()) 1543763813.0 # 将时间戳转换为结构化时间 >>> time.localtime(12312312) time.struct_time(tm_year=1970, tm_mon=5, tm_mday=23, tm_hour=20, tm_min=5, tm_sec=12, tm_wday=5, tm_yday=143, tm_isdst=0) >>> time.localtime() # 不加参数,则以当前时间为准 time.struct_time(tm_year=2018, tm_mon=12, tm_mday=2, tm_hour=23, tm_min=19, tm_sec=31, tm_wday=6, tm_yday=336, tm_isdst=0) # 将结构化时间赚转为格式化时间 >>> time.strftime('%Y-%m-%d',time.localtime(123123)) '1970-01-02' # 将格式化时间转换为结构化时间 >>> time.strptime('2000:01-10','%Y:%m-%d') # 分隔符要保持一样 time.struct_time(tm_year=2000, tm_mon=1, tm_mday=10, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=10, tm_isdst=-1)
-
将时间戳或者结构化时间转为这种格式“Sun Jun 20 23:21:05 1993
# 将结构化时间转换 >>> time.asctime() # 默认为当前时间 'Sun Dec 2 23:36:06 2018' >>> time.asctime(time.localtime(123123)) 'Fri Jan 2 18:12:03 1970' # 将时间戳转换 >>> time.ctime() # 默认为当前时间 'Sun Dec 2 23:36:52 2018' >>> time.ctime(123123123) 'Mon Nov 26 08:52:03 1973'
-
datatime模块
-
查看datetime方法
>>> import datetime >>> dir(datetime) ['MAXYEAR', 'MINYEAR', '__builtins__', '__cached__', '__doc__', '__file__',
'__loader__', '__name__', '__package__', '__spec__', 'date', 'datetime',
'datetime_CAPI', 'time', 'timedelta', 'timezone', 'tzinfo'] -
介绍常用方法
# 返回当前时间 >>> print(datetime.datetime.now()) 2018-12-03 00:01:59.178264 >>> import time >>> print(datetime.date.fromtimestamp(time.time())) # 将时间戳转换为格式化时间 2018-12-03 # 时间的加减 >>> print(datetime.datetime.now() + datetime.timedelta(3)) # 未来三天时间 2018-12-06 00:05:12.874300 # 过去三天时间 >>> print(datetime.datetime.now() - datetime.timedelta(3)) 2018-11-30 00:05:34.362606 >>> print(datetime.datetime.now() + datetime.timedelta(-3)) 2018-11-30 00:05:54.313856 # 过去三小时 >>> print(datetime.datetime.now() - datetime.timedelta(hours=3)) 2018-12-02 21:06:45.818389 # 过去三分钟 >>> print(datetime.datetime.now() - datetime.timedelta(minutes=3)) 2018-12-03 00:04:21.914132