为了账号安全,请及时绑定邮箱和手机立即绑定

Python的time.time()返回本地或UTC时间戳吗?

Python的time.time()返回本地或UTC时间戳吗?

ABOUTYOU 2019-11-21 14:10:10
是否time.time()Python的时间模块系统返回的时间或UTC时间?
查看完整描述

3 回答

?
慕仙森

TA贡献1827条经验 获得超7个赞

该time.time()函数返回自纪元以来的秒数,以秒为单位。请注意,“时代”定义为UTC的1970年1月1日开始。因此,以UTC定义时代,并确定全球时间。无论您身处“历时秒”(time.time())在哪里,都将在同一时刻返回相同的值。


这是我在计算机上运行的一些示例输出,也将其转换为字符串。


Python 2.7.3 (default, Apr 24 2012, 00:00:54) 

[GCC 4.7.0 20120414 (prerelease)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> import time

>>> ts = time.time()

>>> print ts

1355563265.81

>>> import datetime

>>> st = datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S')

>>> print st

2012-12-15 01:21:05

>>>

该ts变量是在几秒钟内返回的时间。然后,我使用datetime库将其转换为字符串,从而使其成为人类可读的字符串。


查看完整回答
反对 回复 2019-11-21
?
阿晨1998

TA贡献2037条经验 获得超6个赞

这是可以在文本文件中使用的时间戳记的文本形式。(问题的标题在过去是不同的,因此对此答案的介绍进行了更改,以阐明如何将其解释为时间。[2016年1月14日更新])


您可以使用.now()或.utcnow()来将时间戳记作为字符串获取datetime.datetime:


>>> import datetime

>>> print datetime.datetime.utcnow()

2012-12-15 10:14:51.898000

now不同之处utcnow与预期的不同-否则它们以相同的方式工作:


>>> print datetime.datetime.now()

2012-12-15 11:15:09.205000

您可以将时间戳显式呈现给字符串:


>>> str(datetime.datetime.now())

'2012-12-15 11:15:24.984000'

或者,您甚至可以更明确地以自己喜欢的方式格式化时间戳记:


>>> datetime.datetime.now().strftime("%A, %d. %B %Y %I:%M%p")

'Saturday, 15. December 2012 11:19AM'

如果要使用ISO格式,请使用.isoformat()对象的方法:


>>> datetime.datetime.now().isoformat()

'2013-11-18T08:18:31.809000'

您可以在变量中使用这些变量来进行计算和打印,而无需进行转换。


>>> ts = datetime.datetime.now()

>>> tf = datetime.datetime.now()

>>> te = tf - ts

>>> print ts

2015-04-21 12:02:19.209915

>>> print tf

2015-04-21 12:02:30.449895

>>> print te

0:00:11.239980


查看完整回答
反对 回复 2019-11-21
?
开心每一天1111

TA贡献1836条经验 获得超12个赞

根据#squiguy的答案,要获得真实的时间戳,我会键入从float转换的时间戳。


>>> import time

>>> ts = int(time.time())

>>> print(ts)

1389177318

至少那是概念。


查看完整回答
反对 回复 2019-11-21
  • 3 回答
  • 0 关注
  • 1442 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信