python - 如何将整数转换为日期对象python?

标签 python python-2.7 date python-datetime strptime

我正在 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/

相关文章:

python - 使用 GLV 中的本地 TinkerGraph

python - 使用 String upper() 转换单词对某些字母不起作用?

Python 多重处理 - 太慢

java - 如何在 java 中重用 SimpleDateFormat 类对象以获得不同格式的答案

python - 每次加载网页时出现 RunTimeError

python - 如何设置计时器来控制循环内的函数调用?

python - 如何使用元类创建一个类属性,该元类仅在类本身未定义时才覆盖?

php 和 mySQL 日期不起作用 - 与美国和欧洲结构有关?

用于在 Chrome 中设置 HTML5 日期输入日历样式的 CSS

python - 针对 1 个重复键访问多个值