Python time模块学习

本文介绍Python中time模块的使用方法,包括获取当前时间、处理器时钟时间、处理时区、时间格式化与解析等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://www.jianshu.com/p/da0ef08c9ea7#

time模块提供了一些用于管理时间和日期的C库函数,由于它绑定到底层C实现,因此一些细节会基于具体的平台。

一.壁挂钟时间

1.time()

time模块的核心函数time(),它返回纪元开始的秒数,返回值为浮点数,具体精度依赖于平台。

>>>import time
>>>time.time()
1460599046.85416
2.ctime()

浮点数一般用于存储和比较日期,但是对人类不友好,要记录和打印时间,可以使用ctime()。

>>>import time
>>>time.ctime()
'Thu Apr 14 10:03:58 2016'
>>> later = time.time()+5
>>> time.ctime(later)
'Thu Apr 14 10:05:57 2016'

二.处理器时钟时间

clock()返回处理器时钟时间,它的返回值一般用于性能测试与基准测试。因此它们反映了程序的实际运行时间。

>>>import time
>>>time.clock()
0.07

三.时间组成

time模块定义了struct_time来维护时间和日期,其中分开存储各个组成部分,以便访问。

import time
def show_struct(s):
      print 'tm_year:", s.tm_year
      print 'tm_mon:", s.tm_mon
      print "tm_mday:", s.tm_mday
      print "tm_hour:",s.tm_hour
      print "tm_min:", s.tm_min
      print "tm_sec:", s.tm_sec
      print "tm_wday:", s.tm_wday
      print "tm_yday:", s.tm_yday
show_struct(time.gmtime())
show_struct(time.localtime())

gmtime()用于获取UTC时间,localtime()用于获取当前时区的当前时间,UTC时间实际就是格林尼治时间,它与中国时间的时差为八个小时。

locatime() = gmtime() + 8hour

四.处理时区

1.获取时间差
>>>import time
>>>time.timezone/3600
-8
2.设置时区
ZONES = ["GMT", "EUROPE/Amsterdam']
for zone in ZONES:
      os.environ["TZ"] = zone
      time.tzset()

五.解析和格式化时间

time模块提供了两个函数strptime()和strftime(),可以在struct_time和时间值字符串之间转换。

1.strptime()

用于将字符串时间转换成struct_time格式:

>>> now=time.ctime()
>>> time.strptime(now)
time.struct_time(tm_year=2016, tm_mon=4, tm_mday=14, tm_hour=10, tm_min=48, tm_sec=40, tm_wday=3, tm_yday=105, tm_isdst=-1)
2.strftime()

用于时间的格式化输出

>>> from time import gmtime, strftime
>>> strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())
'Thu, 28 Jun 2001 14:17:15 +0000'
3.mktime()

用于将struct_time转换成时间的浮点数表示

>>>from time import mktime, gmtime
>>>mktime(gmtime())
1460573789.0

六.sleep()

sleep函数用于将当前线程交出,要求它等待系统将其再次唤醒,如果写程序只有一个线程,这实际上就会阻塞进程,什么也不做。

import time
def fucn():
      time.sleep(5)
      print "hello, world"

执行上面的代码,将等待5秒钟之后再输出信息。



文/nummy(简书作者)
原文链接:http://www.jianshu.com/p/da0ef08c9ea7#
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值