python中的time

Time

前言

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

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

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


使用

time.time()

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

time.time(): 返回1970.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时间元组

索引属性
0tm_year2018
1tm_mon1~12
2tm_mday1~31
3tm_hour0~23
4tm_min0~59
5tm_sec0~61(闰秒了解一下)
6tm_wday0~6(周几)
7tm_yday1~366(儒略历)
8tm_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: 包含一对根据情况的不同而不同的字符串, 分别是带夏令时的本地时区名称, 和不带的.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值