我可以通过java.util.Date(毫秒)在Java 中创建一个类似的Date对象.如何在Python中创建可比较的?
分配Date对象并将其初始化以表示自标准基准时间(称为"epoch")以来的指定毫秒数,即1970年1月1日00:00:00 GMT.
var*_*tec 176
只需将其转换为时间戳即可
datetime.datetime.fromtimestamp(ms/1000.0)
Run Code Online (Sandbox Code Playgroud)
小智 11
由于使用熊猫而有点重,但有效:
import pandas as pd
pd.to_datetime(msec_from_java, unit='ms').to_pydatetime()
Run Code Online (Sandbox Code Playgroud)
那这个呢?我认为它可以指望处理1970年之前和2038年之后的日期.
target_date_time_ms = 200000 # or whatever
base_datetime = datetime.datetime( 1970, 1, 1 )
delta = datetime.timedelta( 0, 0, 0, target_date_time_ms )
target_date = base_datetime + delta
Run Code Online (Sandbox Code Playgroud)
正如Python标准lib中提到的:
如果时间戳超出平台C localtime()或gmtime()函数支持的值范围,则fromtimestamp()可能引发ValueError.这种情况通常限于1970年至2038年.
将毫秒转换为日期时间(UTC):
import datetime
time_in_millis = 1596542285000
dt = datetime.datetime.fromtimestamp(time_in_millis / 1000.0, tz=datetime.timezone.utc)
Run Code Online (Sandbox Code Playgroud)
遵循RFC3339标准(由 Open API 规范使用)将日期时间转换为字符串:
from rfc3339 import rfc3339
converted_to_str = rfc3339(dt, utc=True, use_system_timezone=False)
# 2020-08-04T11:58:05Z
Run Code Online (Sandbox Code Playgroud)
import pandas as pd
Date_Time = pd.to_datetime(df.NameOfColumn, unit='ms')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
91107 次 |
| 最近记录: |