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

Does Python's time.time() return the local or UTC timestamp?

python时间模块中的time.time()是否返回系统时间或UTC时间?


time.time()函数时返回的数秒,因为硬件的单,为秒。值得注意的是"单"定义为开始,一月一次,20世纪70年代在UTC时间。单是这么定义的术语在大学establishes UTC和一个全球的时刻。好吧,你是物的"秒过去单"(time.time())时返回同样的值,在同一时刻。 </P >

这里是一些样本输出I Ra是我的电脑,它转换到一个字符串为好。 </P >

1
2
3
4
5
6
7
8
9
10
11
12
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是可变的时returned在秒。我然后转换它的一个字符串的使用datetime图书馆制作它的一个字符串,这是人类可读的。 </P >


这是对全文的一个时间戳的形态,可以用在你的文本文件。(the title的问题是不同的,在过去,这么介绍到这个答案是对clarify变了,它怎么可能interpreted作为时间的函数。[更新2016年1 14 ]) </P >

你可以得到的时间戳作为一个字符串使用.now().utcnow()datetime.datetime: </P >

1
2
3
>>> import datetime
>>> print datetime.datetime.utcnow()
2012-12-15 10:14:51.898000

在不同的nowutcnowAS的预期——否则,他们工作在同样的方式: </P >

1
2
>>> print datetime.datetime.now()
2012-12-15 11:15:09.205000

你可以在时间戳的render的字符串explicitly: </P >

1
2
>>> str(datetime.datetime.now())
'2012-12-15 11:15:24.984000'

或者你可以做更多的夏娃的显式格式的时间戳的方式你喜欢。 </P >

1
2
>>> datetime.datetime.now().strftime("%A, %d. %B %Y %I:%M%p")
'Saturday, 15. December 2012 11:19AM'

如果你想在大的格式,使用.isoformat()方法面向: </P >

1
2
>>> datetime.datetime.now().isoformat()
'2013-11-18T08:18:31.809000'

你可以使用这些方法中的参数计算和无conversions印刷。 </P >

1
2
3
4
5
6
7
8
9
>>> 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


基于对的答案从# squiguy,想得到一个真正的时间戳的I型铸造将它从浮。 </P >

1
2
3
4
>>> import time
>>> ts = int(time.time())
>>> print(ts)
1389177318

至少那页的概念。 </P >


的答案可能不是或纸。 </P >

  • 来信:time.time()时返回大约在数秒elapsed由于在单。对结果的不depend T的时区,这是不是参加当地的UTC时间。这里的POSIX定义为"由于秒的单"。 </P >

  • time.time()T:不需要你的系统的时钟是同步,它reflects ITS值(虽然它有什么做与本地时区)。不同的电脑可能得到不同的结果,在同一时间。在其他的手,如果你的电脑的时间是同步,那么它是容易的得到的UTC时间,从时间戳(如果我们忽视跨越秒): </P >

    1
    2
    3
    from datetime import datetime

    utc_dt = datetime.utcfromtimestamp(timestamp)

是如何得到的时间戳从UTC时间在各种版本的Python,看看我能得到一个日期转换到秒从单根据UTC??????? </P >


方法:I正则落 </P >

1
2
3
>>> import time
>>> time.mktime(time.gmtime())
1509467455.0

有没有这样的东西作为一种"单",在一个特定的时区。"单是良好定义的是一个特定的时刻,所以,如果你改变的时区,时间本身的变化为好。具体来说,这段时间是Jan 1 1970 00:00:00 UTC。。。。。。。所以time.time()时返回的数秒,因为硬件的单。 </P >