在python中获取时间

2019年11月13日 / 11次阅读 / Last Modified 2019年11月13日
时间计算

python的time模块,可以用来获取时间,本地时间,GMT时间,以及自定义输出的时间字符串格式。本文介绍相关函数及使用。

首先介绍几个概念

GMT时间,就是格林威志时间,也是UTC时间,GMT=UTC。中国位于比UTC时间早8个小时的时区,东8区。太阳从东边率先升起!

UNIX时间戳,也叫POSIX时间,它表示从UTC时间的1970年1月1日0点0分0秒开始的秒数。python通过time.time()函数获取这个秒数,返回值包括小数点,因此我们可以用这个函数来获取毫秒和微秒

>>> import time
>>> time.time()
1573611327.1444278
>>> time.time()
1573611329.5126631
>>> time.time()
1573611331.1281972

从1970年开始到现在,时间也不过经过了不到16忆秒啊!!人生匆匆......补充一个细节:其实很多编程语言里面,都有time()函数,返回的都是UNIX时间戳!

还有epoch这个概念, The epoch is the point where the time starts, and is platform dependent. For Unix, the epoch is January 1, 1970, 00:00:00 (UTC). To find out what the epoch is on a given platform, look at time.gmtime(0). epoch就是UNIX时间戳刚开始的那个点,since epoch就是表示从UNIX时间戳开始到现在的时间。

获取GMT时间

>>> time.gmtime(0)
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)
>>> time.gmtime(time.time())
time.struct_time(tm_year=2019, tm_mon=11, tm_mday=13, tm_hour=2, tm_min=18, tm_sec=18, tm_wday=2, tm_yday=317, tm_isdst=0)
>>> time.gmtime(100000)
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=2, tm_hour=3, tm_min=46, tm_sec=40, tm_wday=4, tm_yday=2, tm_isdst=0)

time.gmtime()函数接收一个秒作为参数,然后将其转换为GMT时间,返回的是一个time.struct_time对象。当输入为0是,得到的时间UNXI时间戳的开始。

获取本地时间

>>> time.localtime(0)
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)
>>> time.localtime(123456789)
time.struct_time(tm_year=1973, tm_mon=11, tm_mday=30, tm_hour=5, tm_min=33, tm_sec=9, tm_wday=4, tm_yday=334, tm_isdst=0)
>>> time.localtime(time.time())
time.struct_time(tm_year=2019, tm_mon=11, tm_mday=13, tm_hour=10, tm_min=21, tm_sec=17, tm_wday=2, tm_yday=317, tm_isdst=0)

用time.localtime()获取本地时间,时区应该是来自底层的OS系统。所谓的本地时间,就是经过时区转换后的时间。

自定义时间字符串

time.strftime()函数用来自定义格式化时间字符串:

>>> time.strftime('%Y-%m-%d %H:%M:%S %A')
'2019-11-13 10:31:39 Wednesday'
>>> time.strftime('%Y-%m-%d %H:%M:%S %A',time.localtime())
'2019-11-13 10:31:49 Wednesday'

time.strftime()函数的第2个参数可以没有,没有时相当于调用time.localtime()。用来控制输出的时间字符串格式的控制符很多,以上只是一小部分,这些控制符,请参考python官方说明:https://docs.python.org/3/library/time.html#time.strftime

需要注意的是,用time.strftime()函数得到的时间字符串,只能精确到秒,毫秒和微秒要通过别的方式来获取:在python中获取当前时间的毫秒和微秒

-- EOF --

本文链接:https://www.pynote.net/archives/1489

留言区

电子邮件地址不会被公开。 必填项已用*标注


前一篇:
后一篇:

More

麦新杰的Python笔记

Ctrl+D 收藏本页


©Copyright 麦新杰 Since 2019 Python笔记

go to top