2011-12-06 66 views

回答

4

datetime.strptime()对于你的问题不是正确的功能。它将像“11月30日00”这样的字符串转换为struct_time对象。

您propably想

from datetime import datetime 
t = 1322745926.123 
datetime.fromtimestamp(t).isoformat() 

从这个代码的结果是

'2011-12-01T14:25:26.123000' 

,如果你的时间码是一个字符串,你可以这样做:

from datetime import datetime 
t = "1322745926.123" 
datetime.fromtimestamp(float(t)).isoformat() 
2
datetime.datetime.utcfromtimestamp(1322745926.123) 

返回datetime.datetime(2011, 12, 1, 13, 25, 26, 123000)它在UTC时区。附:

a = pytz.utc.localize(datetime.datetime.utcfromtimestamp(1322745926.123)) 

你得到一个时区感知DateTime对象可以再转换到你需要的任何时区:

a == datetime.datetime(2011, 12, 1, 13, 25, 26, 123000, tzinfo=<UTC>) 

a.astimezone(pytz.timezone('Europe/Paris')) 

# datetime.datetime(2011, 12, 1, 14, 25, 26, 123000, tzinfo=<DstTzInfo 'Europe/Paris' CET+1:00:00 STD>) 
+0

+1,PyTZ是不错的库,但应该指出,这不是标准的Python安装的一部分。 – mac

2

使用此,

datetime.datetime.fromtimestamp(t) 
相关问题