【发布时间】:2021-06-01 13:53:35
【问题描述】:
我一直在研究使用 datetime ,但我似乎无法找到一种方法。
我要做的是让用户输入date 和return 那个日期是负6 小时。
例如:
User input: "May 10 - 10:00 PM)
Returns : "May 10 - 4:00 PM)
或
User input: "May 10 - 3:00 AM"
Returns: "May 9 - 9:00 PM"
感谢@deceze,我最终得到了:
from datetime import datetime
from datetime import timedelta
inputDate = input("Date and time (DD/MM/YY) HH:MM: ")
date_time_str = inputDate
date_time_obj = datetime.strptime(date_time_str, '%d/%m/%y %H:%M')
finalDate = date_time_obj - timedelta(hours=6)
print(finalDate)
我想我现在正在寻找的只是找到一个 AM/PM 变量,它可以在 6 小时前的日期是前一天时提供帮助?
【问题讨论】:
-
第 1 步:将其解析为
datetime对象。第 2 步:从中减去timedelta(hours=6)。 ——你尝试过第一步吗? -
@deceze 最后是:
from datetime import datetime from datetime import timedelta inputDate = input("Date and time (DD/MM/YY) HH:MM: ") date_time_str = inputDate date_time_obj = datetime.strptime(date_time_str, '%d/%m/%y %H:%M') finalDate = date_time_obj - timedelta(hours=6) print(finalDate)只是想知道如何添加 AM/PM 我猜这样它可以自动调整? -
例如
datetime.strptime("May 10 - 10:00 PM", "%B %d - %I:%M %p") - timedelta(hours=6)- 确保使用正确的parsing directive -
@MrFuppes 我明白了 - 谢谢!感谢您提供的链接,它清除了很多东西。
标签: python python-3.x datetime input