2014-08-27 174 views
0

我希望获得自世界时UTC时代以来通过的毫秒数。这似乎是一个非常简单的任务python,但我有点卡在这里。以毫秒为准确度的UTC的Python当前时间戳

我可以用

time.time() * 1000 

但根据底层系统上,这既可以返回值UTC或本地时间。

我还可以使用像

time.mktime(datetime.utcnow().timetuple()) * 1000 

的做法,但我不能让毫秒级精确度与这一个,乘以1000只增加三个零到最后,但我需要确切毫秒,因为我需要监视过程不到一秒钟。

+0

'了time.time( )'返回自纪元以来的秒数,它被定义为午夜UTC,1970年1月1日。唯一与系统相关的因素是它是否以超过一秒的精度返回一个值。 – chepner 2014-08-27 15:28:59

回答

2

这里得到毫秒的一种方式

ts = datetime.utcnow() 
print ts.microsecond #prints microseconds 
print time.mktime(ts.timetuple()) + ts.microsecond * 1e-6 

输出

128852 
1409151725.13 
+0

这工作完美,只有我想要的结果作为一个整数,所以稍作修改; time.mktime(ts.timetuple())* 1000 + ts.microsecond * 1e-3 对我的情况更好 – 2014-08-27 15:08:16

0

如果使用Python 3.3+,您可以使用datetime.datetime.timestamp

>>> import datetime 
>>> datetime.datetime.utcnow().timestamp() 
1409120835.727991 
>>> int(_ * 1000) 
1409120835727 
相关问题