一、datetime时间模块
1.参考地址 https://www.nhooo.com/python/python-datetime.html
2.计算时间
sql语句 标准时间转时间戳UNIX_TIMESTAMP()
sql语句 把时间戳转换为标准时间FROM_UNIXTIME(ctime,’ ')
sql语句 date 把标准时间转成其他格式化 2022-01-04 20:45:23 可以变为2022-01-04
3.常用的datetime属性
1.datetime.datetime.now()
返回当前本地日期时间
2.timedelta表示时间的差值对象
语法:datetime.timedelta(weeks=0,days=0,hours=0,minutes=0,seconds=0,milliseconds=0,microsecons=0)
每个参数可正,可负也可0,默认是0
3.datetime.datetime.strptime()
字符串转换成datetime类型
4.datetime.datetime.strftime()
datetime转换成字符串类型
2.1 str类型的日期转换为时间戳
复制代码
1 # 字符类型的时间
2 tss1 = '2013-10-10 23:40:00'
3 # 转为时间数组
4 timeArray = time.strptime(tss1, "%Y-%m-%d %H:%M:%S")
5 print timeArray
6 # timeArray可以调用tm_year等
7 print timeArray.tm_year # 2013
8 # 转为时间戳
9 timeStamp = int(time.mktime(timeArray))
10 print timeStamp # 1381419600
11
12
13 # 结果如下
14 time.struct_time(tm_year=2013, tm_mon=10, tm_mday=10, tm_hour=23, tm_min=40, tm_sec=0, tm_wday=3, tm_yday=283, tm_isdst=-1)
15 2013
16 1381419600
复制代码
2.2 更改str类型日期的显示格式
复制代码
1 tss2 = "2013-10-10 23:40:00"
2 # 转为数组
3 timeArray = time.strptime(tss2, "%Y-%m-%d %H:%M:%S")
4 # 转为其它显示格式
5 otherStyleTime = time.strftime("%Y/%m/%d %H:%M:%S", timeArray)
6 print otherStyleTime # 2013/10/10 23:40:00
7
8 tss3 = "2013/10/10 23:40:00"
9 timeArray = time.strptime(tss3, "%Y/%m/%d %H:%M:%S")
10 otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
11 print otherStyleTime # 2013-10-10 23:40:00
复制代码
2.3 时间戳转换为指定格式的日期
复制代码
1 # 使用time
2 timeStamp = 1381419600
3 timeArray = time.localtime(timeStamp)
4 otherStyleTime = time.strftime("%Y--%m--%d %H:%M:%S", timeArray)
5 print(otherStyleTime) # 2013--10--10 23:40:00
6 # 使用datetime
7 timeStamp = 1381419600
8 dateArray = datetime.datetime.fromtimestamp(timeStamp)
9 otherStyleTime = dateArray.strftime("%Y--%m--%d %H:%M:%S")
10 print(otherStyleTime) # 2013--10--10 23:40:00
11 # 使用datetime,指定utc时间,相差8小时
12 timeStamp = 1381419600
13 dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
14 otherStyleTime = dateArray.strftime("%Y--%m--%d %H:%M:%S")
15 print(otherStyleTime) # 2013--10--10 15:40:00
复制代码
2.4 获取当前时间并且用指定格式显示
复制代码
1 # time获取当前时间戳
2 now = int(time.time()) # 1533952277
3 timeArray = time.localtime(now)
4 print timeArray
5 otherStyleTime = time.strftime("%Y--%m--%d %H:%M:%S", timeArray)
6 print otherStyleTime
7
8 # 结果如下
9 time.struct_time(tm_year=2018, tm_mon=8, tm_mday=11, tm_hour=9, tm_min=51, tm_sec=17, tm_wday=5, tm_yday=223, tm_isdst=0)
10 2018--08--11 09:51:17
11
12
13 # datetime获取当前时间,数组格式
14 now = datetime.datetime.now()
15 print now
16 otherStyleTime = now.strftime("%Y--%m--%d %H:%M:%S")
17 print otherStyleTime
18
19 # 结果如下:
20 2018-08-11 09:51:17.362986
21 2018--08--11 09:51:17