年月日/时分秒
类名 | 功能说明 |
---|---|
time | 时间对象 |
date | 日期对象:year,month,day |
datetime | 日期时间对象:hour,minute,second,microsecond |
timedelta | 时间间隔 |
tzinfo | 时区信息对象 |
import time
import datetime
一、time模块
1、时间戳
print (time.time())
1703050921.7200177
2、格式化的字符串形式
%Y-%m-%d 年-月-日
%H:%M:%S==%X 时-分-秒
%A 星期
%x 日/月/年
print (time.strftime('%Y-%m-%d %H:%M:%S %A'))
print (time.strftime('%Y-%m-%d %X %A'))
print (time.strftime('%Y-%m-%d %X'))
print (time.strftime('%x %X %A'))
print (time.strftime('%Y'))
print (time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
2023-12-20 17:46:46 Wednesday
2023-12-20 17:46:46 Wednesday
2023-12-20 17:46:46
12/20/23 17:46:46 Wednesday
2023
2023-12-20 17:46:46
3、结构化时间
tt = time.localtime()
print (tt)
print (tt.tm_year)
print (tt.tm_mon)
time.struct_time(tm_year=2023, tm_mon=12, tm_mday=22, tm_hour=10, tm_min=18, tm_sec=40, tm_wday=4, tm_yday=356, tm_isdst=0)
2023
12
二、datetime模块
res = datetime.datetime.now()
print (res) # 当前时间
print (res.replace(microsecond=0)) # 去除微妙
res = datetime.datetime.now() + datetime.timedelta(days=15) # 当前时间加15天
print (res)
print (datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
2023-12-22 10:22:12.653938
2023-12-22 10:22:12
2024-01-06 10:22:12.653938
2023-12-22 10:22:12
三、日期比较
1、时间类型转换
时间戳 —localtime/gmtime—> 结构化时间 —strftime—> 格式化的字符串时间
时间戳 <—mktime---------- 结构化时间 <—strptime— 格式化的字符串时间
time_str = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
time_array = time.strptime(time_str,'%Y-%m-%d %X')
timestamp = int(time.mktime(time_array))
print(f'time_str = {time_str}')
print(f'time_array = {time_array}')
print(f'timestamp = {timestamp}')
print ('格式化的字符串时间转为时间戳(秒级):' + str(timestamp))
time_str = 2023-12-22 10:48:23
time_array = time.struct_time(tm_year=2023, tm_mon=12, tm_mday=22, tm_hour=10, tm_min=48, tm_sec=23, tm_wday=4, tm_yday=356, tm_isdst=-1)
timestamp = 1703213303
格式化的字符串时间转为时间戳(秒级):1703213303
2、相同形式可对比
t1='2023/12/1'
t2='2023-12-1'
t3=datetime.date(2023, 12, 1)
t4=datetime.datetime(2023, 12, 1)
print("t1: {}\nt2: {}\nt3: {}\nt4: {}".format(t1,t2,t3,t4))
t1: 2023/12/1
t2: 2023-12-1
t3: 2023-12-01
t4: 2023-12-01 00:00:00
https://www.cnblogs.com/DBArtist/p/python_datetime.html
https://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/125611071