Python学习第五周之内置模块之time与datetime

mac2022-06-30  24

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

最新回复(0)