python中的time

Time

前言

time是python中的一个时间模块.

时间间隔是以秒为单位的浮点数.

其中表示的时间戳是指从1970.1.1到当前的时间.


使用

time.time()

>>> import time
>>> time.time()
1538805603.19149

time.time(): 返回197.1.1到当前的时间的时间戳.


time.localtime()

>>> time.localtime()
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=6, tm_hour=14, tm_min=1, tm_sec=44, tm_wday=5, tm_yday=279, tm_isdst=0)
>>> time.localtime(time.time())
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=6, tm_hour=14, tm_min=2, tm_sec=40, tm_wday=5, tm_yday=279, tm_isdst=0)

time.localtime(): 返回本地时间的时间元祖. 可以接收一个时间戳对象并返回对应的时间元祖.

时间元祖即struct_time.


time.gmtime()

>>> time.gmtime()
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=6, tm_hour=6, tm_min=42, tm_sec=18, tm_wday=5, tm_yday=279, tm_isdst=0)
>>> time.gmtime(time.time())
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=6, tm_hour=6, tm_min=42, tm_sec=32, tm_wday=5, tm_yday=279, tm_isdst=0)

time.gmtime(): 和localtime类似, 但是返回的是格林威治天文时间下的时间元祖.


time.asctime()

>>> time.asctime()
'Sat Oct  6 14:07:55 2018'
>>> time.asctime(time.localtime())
'Sat Oct  6 14:10:08 2018'

time.asctime(): 返回格式化的时间字符串. 也可以接收一个时间元祖对象并返回对应的时间字符串.


time.ctime()

>>> time.ctime()
'Sat Oct  6 15:07:33 2018'
>>> time.ctime(time.time())
'Sat Oct  6 15:07:44 2018'

time.ctime(): 类似asctime方法, 接收或不接收一个时间戳对象, 返回时间字符串.

这个方法和asctime的确保在于返回的字符串的编码类型不同.

ctime返回是默认编码格式, asctime返回的是ASCII格式.


time.strftime()

>>> time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
'2018-10-06 14:16:55'
>>> time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())
'Sat Oct 06 14:17:45 2018'

time.strftime(): 接收一个格式化字符串和时间元祖, 并返回格式化的时间字符串.


time.strptime()

>>> time.strptime(time.asctime())
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=6, tm_hour=14, tm_min=19, tm_sec=31, tm_wday=5, tm_yday=279, tm_isdst=-1)

time.strptime(): 将一个时间字符串转换为时间元祖类型.


time.mktime()

>>> time.mktime(time.strptime(time.asctime()))
1538806844.0
>>> time.mktime(time.localtime())
1538806975.0

time.mktime(): 接收一个时间元祖对象, 返回对应的时间戳.


time.sleep()

>>> time.sleep(2)
...休息2...
>>> 

time.sleep(): 接收一个数值对象(int or float), 然后推迟运行指定的数值时间.


time.clock()

# linux
>>> time.clock()
0.041854
>>> time.clock()
0.042171
>>> a = time.clock()
>>> b = time.clock()
>>> b - a 
0.0016979999999999981

# win
>>> time.clock()
0.0
>>> time.clock()
2.8628072330602374
>>> time.clock()
3.3445361381900995

time.clock(): 以浮点数的秒数返回当前cpu的时间, 用来衡量不同程序耗时.

linux: 返回的是进程的时间, cpu是一些时间片断断续续切换着执行任务的, 所以cpu中程序运行的时间和time.time的时间是有区别的. 使用clock将得到程序单纯地在cpu中运行的时间. 前后两次的差值来得到执行时间.

win: win和linux的clock存在区别, 第一次调用clock返回的是程序运行的实际时间, 第二次调用返回的是自第一次调用到现在程序运行的时间. 所以我们调用两次clock来得到程序运行的时间, 取第二次调用的值.


struct_time时间元祖

索引 属性
0 tm_year 2018
1 tm_mon 1~12
2 tm_mday 1~31
3 tm_hour 0~23
4 tm_min 0~59
5 tm_sec 0~61(闰秒了解一下)
6 tm_wday 0~6(周几)
7 tm_yday 1~366(儒略历)
8 tm_isdst -1,0,1(-1表示夏令时)

常用格式化时间字符串

  • %Y: 年.
  • %m: 月.
  • %d: 日.
  • %H: 时.
  • %M: 分.
  • %S: 秒.
  • %a: 简化星期名.
  • %b: 简化月份名.

属性

time.timezone

>>> time.timezone
-28800

time.timezone: 当地时区(未启动夏令时)距离格林威治的偏移秒数(>0,美洲;<=0大部分欧洲,亚洲,非洲).


time.tzname

>>> time.tzname
('CST', 'CST')

time.tzname: 包含一对根据情况的不同而不同的字符串, 分别是带夏令时的本地时区名称, 和不带的.


猜你喜欢

转载自blog.csdn.net/One_of_them/article/details/82952224
今日推荐