如何将 Python 中的 mm-dd 日期格式的“1030”转换为 10-30?
How to convert "1030" to 10-30 in mm-dd date format in Python?
有没有一种简单的方法可以将 1030、0131、1231 等数字转换为 mm-dd(或者甚至是 mm-dd-yyyy,假设一切都是 2020)格式,以便我可以用它们进行日期计算?例如,我希望能够做到 (1231 减去 0131) = 11 个月。
当然,我也可以按照下面的方法来改变格式,但看看有没有更直观的方法!
startDate = startDate[:2] + "-" + startDate[2:] + "-2020"
endDate = endDate[:2] + "-" + endDate[2:] + "-2020"
如果这不是您想要的,请告诉我:
from datetime import datetime
s = "1030"
d = '-'.join([s[:2], s[2:]]) + '-2020'
date_object = datetime.strptime(d, '%m-%d-%Y').date()
您可以稍后转换为 datetime object straight away, using strptime
directive "%m%d"
. This allows you to make timedelta 计算。默认年份为 1900;如果你愿意,你可以在 2020 年之前更换。
from datetime import datetime
startDate, endDate = "0131", "1231"
startDate, endDate = (datetime.strptime(startDate, "%m%d").replace(year=2020),
datetime.strptime(endDate,"%m%d").replace(year=2020))
deltaDays = (endDate-startDate).days
# 335
有没有一种简单的方法可以将 1030、0131、1231 等数字转换为 mm-dd(或者甚至是 mm-dd-yyyy,假设一切都是 2020)格式,以便我可以用它们进行日期计算?例如,我希望能够做到 (1231 减去 0131) = 11 个月。
当然,我也可以按照下面的方法来改变格式,但看看有没有更直观的方法!
startDate = startDate[:2] + "-" + startDate[2:] + "-2020"
endDate = endDate[:2] + "-" + endDate[2:] + "-2020"
如果这不是您想要的,请告诉我:
from datetime import datetime
s = "1030"
d = '-'.join([s[:2], s[2:]]) + '-2020'
date_object = datetime.strptime(d, '%m-%d-%Y').date()
您可以稍后转换为 datetime object straight away, using strptime
directive "%m%d"
. This allows you to make timedelta 计算。默认年份为 1900;如果你愿意,你可以在 2020 年之前更换。
from datetime import datetime
startDate, endDate = "0131", "1231"
startDate, endDate = (datetime.strptime(startDate, "%m%d").replace(year=2020),
datetime.strptime(endDate,"%m%d").replace(year=2020))
deltaDays = (endDate-startDate).days
# 335