将字符串转为 datetime
格式
date_str = '2019-08-02'
start_date = datetime.datetime.strptime(date_str, "%Y-%m-%d")
从datetime
格式中获取年月日
print(start_date.year)
print(start_date.month)
print(start_date.day)
从数据库中查询某天的信息
首先是 model
中的字段,需为 DateTimeField
date_joined = models.DateTimeField(_('date joined'), default=timezone.now)
对下方 fliter
的第一个参数而言,
date_joined__year
用于筛选 date_joined
字段中,年份等于start_date.year
的数据
new_user = User.objects.filter(date_joined__year=start_date.year, # '字段' + '__year' 双下划线,限定某年
date_joined__month=start_date.month,
date_joined__day=start_date.day)
利用 datetime
计算次日、十五日后、三十日后
next_date = start_date + datetime.timedelta(days=1) # 次日
fifteen_date = start_date + datetime.timedelta(days=15) # 十五日
thirty_date = start_date + datetime.timedelta(days=30) # 三十日
另外,还可以计算昨天:
last_date = start_date + datetime.timedelta(days=-1) # 昨日
将 datetime
转为字符串
target_date.strftime('%Y-%m-%d')
可以转为 2019-08-02
的格式