#引入模块
#使用 import datetime 来导入 使用时前面多加 datetime.datetime即可
import datetime
#相关函数
time.strftime('%Y-%m-%dT%H:%M:%S') 转换字符串
timestr.strptime(time1, "%Y-%m-%d %H:%M:%S") 转换UTC时区
#timedelte 可用值
#days seconds microseconds milliseconds minute hours weeks
subtime = utc_time - datetime.timedelta(hours=8); 增加或减少时间
#时间折叠
#dates() datetimes()
#dates kind应该是"year","month","week","day", datetimes的kind追加 "hour","minute",或"second"
#day month会自动区分年份
datatime_log.objects.dates('datetime',"day").filter(userid = 1).count(); # dates返回日期不同的结果集 count 计算总数
#时间筛选
#使用django.utils.timezone.now()输出的是带时区的utc时间,称为active time
from django.utils import timezone
timezone.now()
datetime.datetime(2016, 06, 19, 07, 15, 48, 367000, tzinfo=<UTC>)
#使用datetime.datetime.utcnow()输出的是不带时区的utc时间,称为naive time
from datetime import datetime
datetime.now()
datetime.datetime(2016, 06, 19, 07, 14, 55, 865000)
#如果项目需要根据时区显示时间,那就使用Django的timezone.now()。不需要的话将USE_TZ设置为False即可。
USE_TZ=False
now = datetime.now() #获取现在的时间
start = datetime.timedelta(hours=23,minutes=59,seconds=59) #获取当前时间中的一天内的开始时间
#查询一天内的数据
#gt 大于
#gte 大于等于
#lt 小于
#lte 小于等于
#当前日期数据 即 一天内的数据 .date() .time()
datatime_log.objects.filter(datetime__gte=datetime.datetime.now().date())
#当前时间数据
datatime_log.objects.filter(datetime__gte=datetime.datetime.now().time())
#指定时间数据
datatime_log.objects.filter(userid='1', datetime__year='2020', datetime__month='8',datetime__day='10')
#查询某年 __year
#查询某月 __month
#查询某天 __day
#查询星期几__week__day
model.objects.filter(date_time_field__month=9)
model.objects.filter(date_time_field__month=9)
datatime_log.objects.filter(datetime__year=2020,datetime__month=9,userid=1)
#或者 查询一天内的数据
date_now = datetime.date.today() 获取当天的日期
da = datetime.timedelta(30) #要查询的天数
#时间范围
#__range 范围
xxx__range=[date_now -da,date_now])
start = datetime.date(2018,7,12)
end = datetime.date(2018,7,13)
model.objects.filter(time_filed__range=(start,end))
#时间加减
m = datatime_log.objects.get(id=10).datetime
v = datatime_log.objects.get(id=11).datetime
k = v-m
#确认相差的天数
k = (v-m).days
#确认相差的秒数 不会计算年月日相差 仅时分秒相差
k = (v-m).seconds
#确认相差的秒数 计算年月日相差
k = (v-m).total_seconds()
#MYSQL时区错误问题
shell >> mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql