为了账号安全,请及时绑定邮箱和手机立即绑定

将时间戳列表转换为日期时间列表

将时间戳列表转换为日期时间列表

蛊毒传说 2021-12-21 16:58:11
在我的程序中,我过滤日期。我收到它们作为时间戳列表:timestamp = [1545730073]这个列表的类型是:print(type(timestamp))Out: <class 'int'>为了将此列表转换为 datetime / datetime64 列表,我尝试了以下代码的多个版本:dt_object = datetime.datetime.fromtimestamp(timestamp)print(dt_object)或者dt_object = [datetime.datetime.fromtimestamp(item) for item in timestamp]print(dt_object)我需要这种类型稍后通过以下函数提取日期:import datetimedt_object = dt_object.date()print(dt_object)这个的输出将会也应该是 finally Out: 2018-12-25。你们有没有建议调整我的代码来完成这项任务?
查看完整描述

3 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

假设时间戳在字符串/整数列表中:


import datetime as dt

timestamp = [1545730073,1645733473]   # or timestamp = ['1545730073','1645733473']


for ts in timestamp:

    print(dt.datetime.fromtimestamp(int(ts)).date())

输出:


2018-12-25

2022-02-25

编辑:


使用列表理解:


print([dt.datetime.fromtimestamp(int(ts)).date() for ts in timestamp])

输出:


[datetime.date(2018, 12, 25), datetime.date(2022, 2, 25)]

编辑 2:


如果要替换时间戳,请使用enumerate():


import datetime as dt

timestamp = [1545730073,1645733473]   # or timestamp = ['1545730073','1645733473']


for indx, ts in enumerate(timestamp):

    timestamp[indx] = dt.datetime.fromtimestamp(int(ts)).date()


print(timestamp)

输出:


[datetime.date(2018, 12, 25), datetime.date(2022, 2, 25)]


查看完整回答
反对 回复 2021-12-21
?
交互式爱情

TA贡献1712条经验 获得超3个赞

你也可以使用地图,

dt_object = list(map(datetime.date.fromtimestamp, timestamp))


查看完整回答
反对 回复 2021-12-21
?
慕斯709654

TA贡献1840条经验 获得超5个赞

获取字符串日期'2018-12-25',像这样


dt_object.strftime("%Y-%m-%d")

如果你有时间戳列表,应该是这样的:


timestamp = [1545730073, 1545730073]

dates = [datetime.datetime.fromtimestamp(item).date() for item in timestamp]


查看完整回答
反对 回复 2021-12-21
  • 3 回答
  • 0 关注
  • 280 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信