2012-04-19 100 views
1

在JavaScript控制檯,我想這JavaScript的日期和python DateTime對象

d=new Date() 
t=d.getTime() 

當我印刷噸,它給

>>1334855220112 

作爲每文檔,它必須是the number of milliseconds since 1970/01/01

在蟒,我創建一個datetime.datetime對象作爲

nowdtime=datetime.datetime.today() 
print str(int(nowdtime.strftime("%s"))*1000) 

這給了結果:

'1334855221000' 

這個數值看起來非常接近,我從JavaScript控制檯得到的結果。

nowdtime的值是

datetime.datetime(2012, 4, 19, 22, 37, 1, 866262) 

我的疑問是,爲什麼,因爲時代的秒nowdtime.strftime("%s")回報是多少?

如果我給nowdtime.strftime("%H"),它只會返回22這是24小時制的小時數。

回答

2

%s必須是某種指令平臺特定的(即不在http://docs.python.org/library/time.html#time.strftime記錄)的:

的其他指令可能在某些平臺上的支持,但只有 這裏列出的有通過標準化的意義ANSI C.

即中,Win7的Python 2.6.6 IPython的控制檯:

import datetime 
d = datetime.datetime(2012, 4, 19, 22, 37, 1, 866262) 
d.strftime("%s") # gives: '' 

我不確定這是否回答你的問題,因爲我不確定你的問題是什麼。

+1

謝謝你告訴我這個平臺具體issue..I使用linux..so不知道它是否工作在Windows了。無論如何,'time.mktime(datetime.datetime.now().timetuple())* 1000'返回自紀元以來的預期毫秒數。 – damon 2012-04-19 18:04:41

+0

是的,我在Ubuntu上得到你的結果。 – Hamish 2012-04-19 18:13:11

0

你也可以使用從時間模塊time.time()時間的方法來得到一個float表示紀元以來的秒數。