我有一个字典列表,如下所示,
[{'Name':'Henry','Start Date': datetime.datetime(2018, 12, 5, 0, 0),'End Date': datetime.datetime(2020, 4, 10, 0, 0)},
{'Name':'Zack','Start Date': datetime.datetime(2018, 12, 5, 0, 0), 'End Date': datetime.datetime(2018, 12, 7, 0, 0)},
{'Name':'Stuart','Start Date': datetime.datetime(2018, 12, 5, 0, 0),'End Date': datetime.datetime(2020, 4, 10, 0, 0)}]
如何将我的日期格式转换为给定的输出?
[{'Name':'Henry','Start Date': '05-12-2018 12:00:00 AM','End Date': '10-04-2020 12:00:00 AM'},
{'Name':'Zack','Start Date': '05-12-2018 12:00:00 AM','End Date': '07-12-2018 12:00:00 AM',
{'Name':'Stuart','Start Date': '05-12-2018 12:00:00 AM','End Date': '10-04-2020 12:00:00 AM'}]
这是一个测试数据的原始数据有更多的记录。此记录是动态的,因此需要一个通用的解决方案。日期时间键没有必要每次都有相同的名称。
您可以使用strftime
从datetime
转换为您想要的格式(%d-%m-%Y %I:%M:%S %p
(。
import datetime
dates = [{'Name':'Henry','Start Date': datetime.datetime(2018, 12, 5, 0, 0),'End Date': datetime.datetime(2020, 4, 10, 0, 0)},
{'Name':'Zack','Start Date': datetime.datetime(2018, 12, 5, 0, 0), 'End Date': datetime.datetime(2018, 12, 7, 0, 0)},
{'Name':'Stuart','Start Date': datetime.datetime(2018, 12, 5, 0, 0),'End Date': datetime.datetime(2020, 4, 10, 0, 0)}]
for date in dates:
start_date = str(datetime.datetime.strftime(date["Start Date"], "%d-%m-%Y %I:%M:%S %p"))
end_date = str(datetime.datetime.strftime(date["End Date"], "%d-%m-%Y %I:%M:%S %p"))
date["Start Date"] = start_date
date["End Date"] = end_date
print(dates)
输出:
[{'Name': 'Henry', 'Start Date': '05-12-2018 12:00:00 AM', 'End Date': '10-04-2020 12:00:00 AM'}, {'Name': 'Zack', 'Start Date': '05-12-2018 12:00:00 AM', 'End Date': '07-12-2018 12:00:00 AM'}, {'Name': 'Stuart', 'Start Date': '05-12-2018 12:00:00 AM', 'End Date': '10-04-2020 12:00:00 AM'}]
''从日期时间导入日期时间
((日期时间(2018,12,5,0,0((.strftime("%d-%m-%Y%I:%m:%S%p"(''
使用此格式