基本上我有一些用户的creation_date格式如下:
# Format creation date
creation_date = datetime.datetime.strptime(creation_date, '%Y-%m-%d')
因此它将以年 - 月 - 日格式提供用户的创建日期。
然后我只需要约会日期(IE。,%d
)所以我采取了以下相同的步骤:
# Get the day only
creation_just_day = creation_date.day
print creation_just_day
现在如果特定日期在以下列表中,我需要假设'28'
的日期,其完成如下:
# Items need to consider for date consideration
date_assume_list = [29,30,31]
if creation_just_day in date_assume_list:
creation_just_day = 28
最后,现在我需要使用上面的作业在这里制作如下日期。
所以它应该按如下方式打印日期:
2016-01-28
答案 0 :(得分:2)
您可以使用datetime.replace
方法。此方法返回一个新的datetime
对象,其中替换了原始datetime
对象的一个或多个值。当然,如果您不再需要,可以覆盖原始datetime
对象。
例如,
import datetime
for creation_date in ('2016-02-05', '2016-01-29', '2015-12-31',):
creation_date = datetime.datetime.strptime(creation_date, '%Y-%m-%d')
print '\nBefore:', creation_date
if creation_date.day in (29, 30, 31):
creation_date = creation_date.replace(day=28)
print 'After: ', creation_date
输出
Before: 2016-02-05 00:00:00
After: 2016-02-05 00:00:00
Before: 2016-01-29 00:00:00
After: 2016-01-28 00:00:00
Before: 2015-12-31 00:00:00
After: 2015-12-28 00:00:00
答案 1 :(得分:1)
此行,您还可以使用creation_date中的其他信息:
print dir(state)