【问题标题】:Use current month/day in datetime parse在日期时间解析中使用当前月/日
【发布时间】:2019-04-18 16:37:22
【问题描述】:

我正在尝试解析只是“07:43 PM”的字符串。我想出了strptime() 函数,但是当我打印结果时,日期、月份和年份都是错误的。它不使用当前时间,它分别使用 1、1 和 1900。我发现一个天真的解决方案是只使用.replace() 并用当前值替换日、月和年。还有什么我可以做的吗?

y = '07:43 PM'
print(datetime.strptime(y, '%I:%M %p'))  #1900-01-01 19:43:00

【问题讨论】:

  • 当你解析这个字符串时,你总是想使用当前日期吗?如果是这样,请使用 datetime.now() 作为基础并替换小时和分钟。
  • 是的,我总是想要今天

标签: python python-3.x datetime


【解决方案1】:

正如评论所说,您可以获得now 时间,然后使用您想要的内容更新这些字段,例如:

from datetime import datetime
y = '07:43 PM'
now, stripped = datetime.now(), datetime.strptime(y, '%I:%M %p')
now = now.replace(hour=stripped.hour, minute=stripped.minute)
print(now)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-31
    • 1970-01-01
    • 2014-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多