0

我有一个紧凑的日期字符串,例如 '201001' 代表 2010 年 1 月。

由于遗留原因,我无法更改日期的存储方式,但希望以东方式将日期增加一个月。如果它是日期类型,我可以使用 date(compactdate + interval '1 month'),但将其转换为 date 类型会返回 2020 10 01..

4

2 回答 2

0

从 datetime 导入时间 从 dateutil.relativedelta 导入 datetime 导入 relativedelta

print "以 (yymm) 格式输入日期"

response_date = raw_input()

new_date = datetime.strptime(response_date, '%Y%m') + relativedelta( 月 = +1 )

打印“新日期”,新日期

输出:-

turkesh@turkesh-desktop:~/Desktop/py 文件$ python date2.py

以 (yy/mm/dd) 格式输入日期

201001

新日期 2010-02-01 00:00:00

turkesh@turkesh-desktop:~/Desktop/py 文件$

于 2011-08-16T10:10:56.840 回答
0

最后我发现的唯一解决方案是混乱但基本上只是使用模数,这可能是因为日期不应该以这种格式存在于系统中,尤其是不应该作为字符串

select (('201112'::int / 100) + ((('201112'::int % 100) +1) / 12) )*100  + ((('201112'::int % 100) +1) % 12);
于 2012-12-05T14:34:18.010 回答