1.模块分为三类: 标准库:sys、os等内置模块; 开源模块:第三方模块 自定义模块
2.标准库中时间模块有time跟datetime
(1)格式化的时间字符串表示:2019-08-24 08:23:05
(2)时间戳:本质是秒数,使用time.time()来打印,是从1970年01月01日00:00开始按秒计算的偏移量
>>> time.time() 1566616449.2671971 >>> x=time.time() >>> x/3600/24/365 49.677082186906304 >>> 1970+49 2019
(3)struct-time,元组,共9个元素, 这里要明确 世界标准时间是UTC,中国使用的UTC+8,DST是夏令时。
使用time.localtime(),可以输出本地时间
>>> time.localtime() time.struct_time(tm_year=2019, tm_mon=8, tm_mday=24, tm_hour=11, tm_min=17, tm_sec=27, tm_wday=5, tm_yday=236, tm_isdst=0
使用gm.localtime()输出的为世界标准时间
>>> time.gmtime() time.struct_time(tm_year=2019, tm_mon=8, tm_mday=24, tm_hour=3, tm_min=17, tm_sec=39, tm_wday=5, tm_yday=236, tm_isdst=0)
3.这三种表示时间的方法可以互相转换,如下图所示,
这里以元组跟时间戳的转换试例一下:
>>> y=time.gmtime(564123654)>>> print(y) time.struct_time(tm_year=1987, tm_mon=11, tm_mday=17, tm_hour=5, tm_min=0, tm_sec=54, tm_wday=1, tm_yday=321, tm_isdst=0) >>> time.mktime(y
strftime("格式",struct_time),转换为格式化的字符串,struct_time与格式没有位置上的联系,格式中的位置可以随意写
strptime("格式化的字符串","格式"),格式与格式化的字符串是一一对应的,有位置上的联系。
4.time.aectime()与time.ctime()可以将格式化的字符串与时间戳转换为特定的格式,转换形式如图:
这里简单示例一下:
>>> time.asctime(y) ‘Tue Nov 17 05:00:54 1987‘ >>> >>> time.ctime(x) ‘Sat Aug 24 11:14:23 2019‘
5.datetime模块
datetime可以打印当前时间,也可以进行时间加减
>>> import datetime >>> datetime.datetime.now() datetime.datetime(2019, 8, 24, 12, 13, 46, 698797) >>> print(datetime.datetime.now()) 2019-08-24 12:14:01.287766 >>> print(datetime.datetime.now()+datetime.timedelta(3)) #当前时间加3天 2019-08-27 12:15:22.381283 >>> print(datetime.datetime.now()+datetime.timedelta(-3)) #当前时间加减天 2019-08-21 12:15:30.340797 >>> print(datetime.datetime.now()+datetime.timedelta(hours=3)) #当前时间加3个小时 2019-08-24 15:15:46.809156 >>> print(datetime.datetime.now()+datetime.timedelta(minutes=30)) 当前时间减3个小时 2019-08-24 12:46:05.085896
datetime模块还可以进行时间替换,如下所示:
>>> c_time=datetime.datetime.now() >>> print(c_time.replace(minute=3,hour=2)) 2019-08-24 02:03:27.189295
完
原文地址:https://www.cnblogs.com/wuxiaoru/p/11404210.html
时间: 2024-10-31 09:40:20