我正在 python 中创建一个模块,我在其中接收整数格式的日期,如 20120213
,表示 2012 年 2 月 13 日。现在,我想转换这个整数格式的日期到 python 日期对象中。
另外,如果有什么方法可以在这种整数格式的日期中减去/添加天数以接收相同格式的日期值?比如从 20120213
中减去 30 天并以 20120114
的形式收到答案?
最佳答案
我建议以下简单的转换方法:
from datetime import datetime, timedelta
s = "20120213"
# you could also import date instead of datetime and use that.
date = datetime(year=int(s[0:4]), month=int(s[4:6]), day=int(s[6:8]))
要添加/减去任意天数(秒也可以),您可以执行以下操作:
date += timedelta(days=10)
date -= timedelta(days=5)
然后使用:
s = date.strftime("%Y%m%d")
要将整数安全地转换为字符串,请使用:
s = "{0:-08d}".format(i)
这可确保您的字符串长度为 8 个字符并用零填充,即使年份小于 1000(负年份可能会变得有趣)。
进一步引用:datetime objects , timedelta objects
关于python - 如何将整数转换为日期对象python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9750330/