字符串/日期格式的毫秒数

时间:2017-02-09 14:47:07

标签: python datetime

我收到了日期对象:

now = datetime.utcnow()
print(now)

2017-02-09 14:00:31.256382

然后,进行字符串表示:

to_string = now.strftime("%Y-%m-%d %H:%M:%S.%f")  
print(to_string)

2017-02-09 14:00:31.256382 (it is a str object)

我把它转换为秒:

sec = now.replace(tzinfo=timezone.utc).timestamp()
print(sec)

1486648831.256382

1)我试图找回字符串表示:

back = time.strftime("%Y-%m-%d %H:%M:%S.%f", time.gmtime(x))
print(back)

2017-02-09 14:00:31.%f 

我无法计算如何表示毫秒。注意,timestamp也返回秒而不是毫秒。

2)如果我想从秒(或我的情况下是毫秒)回到日期对象而不是字符串对象?

1 个答案:

答案 0 :(得分:3)

使用utcfromtimestamp方法。

from datetime import datetime

ts = 1486648831.256382
print (datetime.utcfromtimestamp(ts))
>>> 2017-02-09 14:00:31.256382
  

classmethod datetime.utcfromtimestamp(timestamp)

     

返回与POSIX时间戳对应的UTC日期时间   tzinfo没有。如果时间戳不在,则可能会引发ValueError   平台C gmtime()函数支持的值范围。它的   这种情况常见于1970年至2038年。见   也来自时间戳()。

返回的对象为<class 'datetime.datetime'>