首页 > 解决方案 > 将特定时间格式转换为另一种格式

问题描述

我正在尝试转换某种时间格式。但由于当前时间格式不友好,某些字符(日、月)的索引会因之前的字符数而变化。我一直在尝试使用切片来提取正确的信息。但是由于索引发生了变化,我没有任何运气。所需的时间格式来自日期时间。

Current time format:
5/31/21, 6:30 AM
Desirade time format:
2021-06-12 20:41:06.447695

我能够准确地提取小时和分钟,但不能提取日、月、年。

if 'PM' in start_time:
        string = ' PM'
    else:
        string = ' AM'

 minute = start_time[start_time.index(':') + 1:start_time.index(string)]
 hour = start_time[start_time.index(', ') + 2: start_time.index(':')]

标签: pythondatetimepython-datetime

解决方案


你本质上是想把这种格式转换%m/%d/%y, %I:%M %p成这种格式%Y-%m-%d %H:%M:%S.%f

所以是这样的:

d = datetime.strptime(date_input, '%m/%d/%y, %I:%M %p')
new_d = d.strftime('%Y-%m-%d %H:%M:%S.%f')

有关所有日期时间代码,请参阅python 文档。%


推荐阅读