Python时间模块中的time.time()
是否返回系统的时间或UTC时间?
根据#squiguy的回答,为了得到一个真正的时间戳,我会从float中输入cast。
>>> import time
>>> ts = int(time.time())
>>> print(ts)
1389177318
至少这是个概念。
这是用于可在文本文件中使用的时间戳的文本形式。(该问题的标题与过去不同,因此对该答案的导言进行了更改,以澄清如何将其解释为时间。[更新日期:2016-01-14])
您可以使用datetime.datetime
的.now()
或.utcnow()
以字符串形式获取时间戳:
>>> import datetime
>>> print datetime.datetime.utcnow()
2012-12-15 10:14:51.898000
现在的与预期的
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格式,请使用对象的
. isoform()
方法:
>>> 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
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
库将其转换为一个字符串,使其成为人类可读的字符串。
我想以毫秒为单位获取当前的UTC时间。我搜索了一下google,得到了System.currentTimeMillis()确实返回UTC时间的一些答案。但事实并非如此。如果我做了以下事情: 所有三个时间几乎相同(由于通话时间不同,时间相差毫秒)。 这个时间不是UTC时间,而是我的时区时间。如何在android中获取当前UTC时间?
在php.ini我设置了。重新启动了Apache,中的输出显示了正确的时区(Europe/Amsterdam)。现在当我打印时,我得到的是UTC时间,比我们的本地时间晚2小时。但是当我打印时,我仍然得到UTC时间,而我期望的是本地时间。 的输出是: 如果您能帮我了解当地时间,我们将不胜感激。 更新: phpinfo()的输出为: 所以“date.timezone”是正确的,但与“默认时区”有什么区
问题内容: 我只想检查是否返回UTC / GMT时间戳,还是需要使用? 问题答案: 返回UNIX时间戳,该时间戳与时区无关。由于UNIX时间戳表示自1970年 UTC 以来的秒数,您可以说它是UTC,但实际上没有时区。 实际上,UNIX时间戳在任何给定时间在全世界范围内都是相同的值。在撰写本文时,它在东京,伦敦和纽约。要将其转换为“人类可读”的时间,您需要指定要显示的时区。在东京是,在伦敦是在纽约
我需要在UTC时间生成一个UNIX时间戳,所以我使用来生成它。 我是否需要执行其他操作,或者时间戳是否自动采用 UTC?
问题内容: 我想以毫秒为单位获取当前UTC时间。我搜索了google,并得到了一些System.currentTimeMillis()确实返回UTC时间的答案。但事实并非如此。如果我执行以下操作: 这三个时间几乎都相同(由于通话,相差以毫秒为单位)。 这不是UTC时间,而是我的时区时间。如何在Android中获取当前UTC时间? 问题答案: 您显示的所有三行都将给出自unix纪元以来的毫秒数,这是
问题内容: 我真的对方法调用的结果感到困惑,因为它返回了IST时间。 这是我使用的代码 我得到的答复是: 所以我尝试将默认的TimeZone更改为UTC,然后检查了一下,然后工作正常 结果: 我在这里想念什么吗? 问题答案: 该调用返回的。正是它将转换为的字符串,并且这种转换将使用您所用的默认时区。 您需要明确使用来在所需的时区中打印。 编辑:@Laurynas的礼貌,请考虑以下事项: