如何在Python中从毫秒创建一个日期时间?我可以通过java.util.Date(milliseconds)
在Java中创建类似的Date
对象。
分配一个日期对象并将其初始化为表示自“纪元”即1970年1月1日00:00:00 GMT以来指定的毫秒数。
如何在Python中从毫秒创建一个日期时间?我可以通过java.util.Date(milliseconds)
在Java中创建类似的Date
对象。
分配一个日期对象并将其初始化为表示自“纪元”即1970年1月1日00:00:00 GMT以来指定的毫秒数。
将其转换为时间戳
datetime.datetime.fromtimestamp(ms/1000.0)
datetime.utcfromtimestamp(ms//1000).replace(microsecond=ms%1000*1000)
。 - tsg这个怎么样?我认为它可以处理1970年之前和2038年之后的日期。
target_datetime_ms = 200000 # or whatever
base_datetime = datetime.datetime(1970, 1, 1)
delta = datetime.timedelta(0, 0, 0, target_datetime_ms)
target_datetime = base_datetime + delta
正如Python标准库中所述:
如果时间戳超出了平台C本地时间(localtime())或世界协调时间(gmtime())函数支持的值范围,fromtimestamp()函数可能会引发ValueError异常。通常这个范围限制在1970年到2038年之间。
很显然,这可以用一行代码完成:
target_dt = datetime(1970, 1, 1) + timedelta(milliseconds=target_dt_ms)
...不仅从我的答案中可以明显看出,而且2015年jfs的评论也非常误导,因为它将变量称为utc_time
。
不对:它不是“时间”,而是datetime
,并且绝对不是UTC。我们关心的datetime
是“时区无关”的datetime
,而不是时区感知的datetime
。因此绝对不是UTC。
如果您对此问题不熟悉,请搜索相关信息。
utc_time = datetime(1970, 1, 1) + timedelta(milliseconds=millis)
来计算UTC时间。 - jfsdatetime.utcfromtimestamp(ts)
的结果会是什么? - undefined将毫秒转换为日期时间 (UTC):
import datetime
time_in_millis = 1596542285000
dt = datetime.datetime.fromtimestamp(time_in_millis / 1000.0, tz=datetime.timezone.utc)
import pandas as pd
Date_Time = pd.to_datetime(df.NameOfColumn, unit='ms')
使用 pandas 会有一些负担,但是可以工作:
import pandas as pd
pd.to_datetime(msec_from_java, unit='ms').to_pydatetime()
Series
对象。 - StonedTensor