如何获取自定义时间自 python 纪元以来的毫秒时间?
How to get time in millisecond since epoch in python for a custom time?
我正在尝试获取自定义时间自纪元过去以来的毫秒数。
我尝试使用以下代码,并且能够获得纪元过去后的秒数。
dt = datetime(2022,5,1,0,0,1,100000)
print(dt)
endtime = time.mktime(dt.timetuple())
endtime = endtime * 1000
print(endtime)
然而,这在几秒钟后停止,我得到的值是 1651343401000 而不是 1651343401100。
有人可以帮我吗?
使用这个获取当前时间:
round(time.time() * 1000)
并将其用于自定义时间:
datetime.datetime(1970, 1, 1)).total_seconds() * 1000)
希望对你有所帮助
你太难为自己了。
API 已经提供了您正在寻找的内容:
>>> dt
datetime.datetime(2022, 5, 1, 0, 0, 1, 100000)
>>>
>>> dt.timestamp()
1651388401.1
如果您愿意,可以随意挑出其中的整数和小数部分。
或缩放最终组件:
>>> millis = dt.microsecond / 1e3
>>> millis
100.0
另外,
你可能过得更好
远离天真的邮票,更喜欢 UTC。
那么“seconds since epoch”将具有常规含义。
>>> from datetime import timezone
>>> dt = datetime(2022, 5, 1, 0, 0, 1, 100_000, tzinfo=timezone.utc)
>>> dt.timestamp()
1651363201.1
我正在尝试获取自定义时间自纪元过去以来的毫秒数。
我尝试使用以下代码,并且能够获得纪元过去后的秒数。
dt = datetime(2022,5,1,0,0,1,100000)
print(dt)
endtime = time.mktime(dt.timetuple())
endtime = endtime * 1000
print(endtime)
然而,这在几秒钟后停止,我得到的值是 1651343401000 而不是 1651343401100。
有人可以帮我吗?
使用这个获取当前时间:
round(time.time() * 1000)
并将其用于自定义时间:
datetime.datetime(1970, 1, 1)).total_seconds() * 1000)
希望对你有所帮助
你太难为自己了。 API 已经提供了您正在寻找的内容:
>>> dt
datetime.datetime(2022, 5, 1, 0, 0, 1, 100000)
>>>
>>> dt.timestamp()
1651388401.1
如果您愿意,可以随意挑出其中的整数和小数部分。 或缩放最终组件:
>>> millis = dt.microsecond / 1e3
>>> millis
100.0
另外, 你可能过得更好 远离天真的邮票,更喜欢 UTC。 那么“seconds since epoch”将具有常规含义。
>>> from datetime import timezone
>>> dt = datetime(2022, 5, 1, 0, 0, 1, 100_000, tzinfo=timezone.utc)
>>> dt.timestamp()
1651363201.1