我收到了日期对象:
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)如果我想从秒(或我的情况下是毫秒)回到日期对象而不是字符串对象?
答案 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'>