如何从纪元以来的时间轻松创建日期时间对象?
How to easily create a datetime object from time with unit since epoch?
假设我得到了一个自纪元以来的时间戳(以微秒为单位)1611590898133828
考虑到单位 microseconds
.
,我如何轻松地将其转换为日期时间对象
from datetime import datetime
timestamp_micro = 1611590898133828
dt = datetime.datetime.fromtimestamp(timestamp_micro / 1e6)
我希望能够进行简单的转换,因为有时我需要微秒、有时是秒、有时是纳秒来转换。
timestamp_micro = 1611590898133828
dt = datetime.datetime.fromtimestamp(timestamp_micro, unit="us")
这有可能吗?对我来说,使用 python 的日期时间包只是一种痛苦。也许您还可以推荐另一个时间戳处理更容易的包?
您只需调用 const dt = new Date(timestamp)
即可创建新的 javascript 日期对象。这里的 timestamp
值是一个精确到毫秒的纪元。 JavaScript 本机支持更高的精度。
如果您经常需要处理日期,我建议您使用 momentJS 等软件包,因为处理原生 JS 非常痛苦dates/times。
pandas.to_datetime
provides the option to set the unit as a keyword:
import pandas as pd
t, UNIT = 1611590898133828, 'us'
dt = pd.to_datetime(t, unit=UNIT)
print(dt, repr(dt))
# 2021-01-25 16:08:18.133828 Timestamp('2021-01-25 16:08:18.133828')
您现在可以使用 pandas 时间戳或转换为常规 Python 日期时间对象,例如
dt.to_pydatetime()
# datetime.datetime(2021, 1, 25, 16, 8, 18, 133828)
另请注意,如果您在不设置时区的情况下使用 fromtimestamp
,您将获得天真的日期时间,[=] 会将其视为 当地时间 24=](UTC 偏移量可能不是 0)。参见例如here.
假设我得到了一个自纪元以来的时间戳(以微秒为单位)1611590898133828
考虑到单位 microseconds
.
from datetime import datetime
timestamp_micro = 1611590898133828
dt = datetime.datetime.fromtimestamp(timestamp_micro / 1e6)
我希望能够进行简单的转换,因为有时我需要微秒、有时是秒、有时是纳秒来转换。
timestamp_micro = 1611590898133828
dt = datetime.datetime.fromtimestamp(timestamp_micro, unit="us")
这有可能吗?对我来说,使用 python 的日期时间包只是一种痛苦。也许您还可以推荐另一个时间戳处理更容易的包?
您只需调用 const dt = new Date(timestamp)
即可创建新的 javascript 日期对象。这里的 timestamp
值是一个精确到毫秒的纪元。 JavaScript 本机支持更高的精度。
如果您经常需要处理日期,我建议您使用 momentJS 等软件包,因为处理原生 JS 非常痛苦dates/times。
pandas.to_datetime
provides the option to set the unit as a keyword:
import pandas as pd
t, UNIT = 1611590898133828, 'us'
dt = pd.to_datetime(t, unit=UNIT)
print(dt, repr(dt))
# 2021-01-25 16:08:18.133828 Timestamp('2021-01-25 16:08:18.133828')
您现在可以使用 pandas 时间戳或转换为常规 Python 日期时间对象,例如
dt.to_pydatetime()
# datetime.datetime(2021, 1, 25, 16, 8, 18, 133828)
另请注意,如果您在不设置时区的情况下使用 fromtimestamp
,您将获得天真的日期时间,[=] 会将其视为 当地时间 24=](UTC 偏移量可能不是 0)。参见例如here.