'''
datetime 日期时间模块
datetime 中的类
datetime.date 年月日
datetime.time 时分秒
datetime.datetime 年月日,时分秒
datetime.timedelta 时间差
时间戳 : 格林威治时间(1970.1.1)
'''
import datetime
import time
# 获取格林威治时间
# print(time.mktime(time.localtime()))
# 结构体
# print(time.localtime())
# date
# 获取当前日期
# d = datetime.date.today()
# print('当前时间:{}'.format(d))
# 获取自定义日期
# d = datetime.date(2022,7,29)
# print(d)
# 获取时间戳日期
# print(time.time())
d = datetime.date.fromtimestamp(time.time())
# print(d)
# 其他方法
# print(d.replace(2023))
# print(d.replace(d.year, 12))
# print(d.replace(d.year, d.month, 30))
#
# 时间对象输出字符串
# print(d.strftime('%Y年%m月%d日'))
# datetime.time 类
# 生成时间
t =datetime.time(13,47,5,8888)
# print(t)
#
# print(datetime.time.max)
# print(datetime.time.min)
# print(datetime.time.resolution)
#
# # 时
# print(t.hour)
# # 分
# print(t.minute)
# # 秒
# print(t.second)
# # 毫秒
# print(t.microsecond)
# 标准时间格式
# print(t.isoformat())
# print(t.strftime('%H时%M分%S秒%f毫秒'))
# datetime.datetime
# dt = datetime.datetime(2023,6,28,20,54,58,888888)
# print(dt,type(dt))
# 获取今天的时间
# dt =datetime.datetime.today()
# 可以指定是哪一个时区,修改tz即可
# dt1 = datetime.datetime.now(tz=None)
# print(dt)
# print(dt1)
# # 格林威治时间
# dt = datetime.datetime.utcnow()
# print(dt)
# 时间戳 ---> 转换 datetime
# print(datetime.datetime.fromtimestamp(time.time()))
# print(datetime.datetime.utcfromtimestamp(time.time()))
# 字符串 ---->转换 datetime
# dt = datetime.datetime.strptime('2022-06-29 13:01:09','%Y-%m-%d %H:%M:%S')
# print(dt,type(dt))
# data,time -->转换 datetime
dt = datetime.datetime.combine(d,t)
print(dt)
# print(dt,type(dt))
# print(dt.year) # 年
# print(dt.month) # 月
# print(dt.day) # 日
# print(dt.hour) # 时
# print(dt.minute) # 分
# print(dt.second) # 秒
# print(dt.microsecond) # 毫秒
# replace
# dt = dt.replace(minute= 50,day=20)
# print(dt)
# datetime --> 转换为结构化对象
print(dt.timetuple())
# datetime --> 转换为时间戳
print(dt.timestamp())
# datetime --> 转换为格式字符串
print(dt.strftime('%Y年%m月%d日 %H时%M分%S秒%f毫秒'))
# 格式字符串--> 转换为datetime
dt = datetime.datetime.strptime('2022-06-29 13:47:05','%Y-%m-%d %H:%M:%S')
print(dt)
# 格式化对象--->转换为datetime
# mktime 时间戳 localtime 结构化时间对象
datetime.datetime.fromtimestamp(time.mktime(time.localtime()))