【问题标题】:Converting a specific time format into another format将特定时间格式转换为另一种格式
【发布时间】:2021-06-12 18:54:13
【问题描述】:

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

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(':')]

【问题讨论】:

  • 您需要使用 "%m/%d/%y %I:%M %p" 解析为日期时间 (strptime) 并使用 datetime_obj.isoformat(' ') - docs 格式化为字符串
  • 你应该使用python的datetimedocs.python.org/3/library/datetime.html读取包含时间的字符串

标签: python datetime python-datetime


【解决方案1】:

您实际上想将此格式%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')

请参阅the python docs 了解所有日期时间% 代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-20
    • 1970-01-01
    • 2022-01-19
    • 2016-10-09
    • 1970-01-01
    相关资源
    最近更新 更多