Python8.时间日历date(日期),time(时间),datetime(日期时间),timedelta(时间差)

import datetime
import time
#一.date(日期)

#生成日期
#输出当前日期
print(datetime.date.today()) #输出:2021-05-18
#设定日期
print(datetime.date(2022,5,18)) #输出:2022-05-18
#输出当前日期,time.time():时间戳
print(datetime.date.fromtimestamp(time.time())) #输出:2021-05-18
#输出最小日期
print(datetime.date.min) #输出:0001-01-01
#输出最大日期
print(datetime.date.max) #输出:9999-12-31
#输出date类最小日期间隔时间
print(datetime.date.resolution) #输出:1 day, 0:00:00


#输出当前日期的年月日
d = datetime.date.fromtimestamp(time.time())
print(d.year) #输出:2021
print(d.month) #输出:5
print(d.day) #输出:18
#把年份替换为2022年
print(d.replace(year=2022)) #输出:2022-05-18
#计算从0001-01-01到现在的天数
print(d.toordinal()) #输出:737928
print(d.weekday()) #输出:1 表示星期二,0表示星期一
print(d.isoweekday()) #输出:2 表示星期二,0表示星期天
#标准的日期格式返回
print(d.isoformat()) #输出:2021-05-18
#格式化输出日期
print(d.strftime("%Y年%m月%d日")) #输出:2021年05月18日
"""
{}表示占位符 =表示要填充为=号,^表示将后面的内容datetime.time居中对齐,
50表示要填充50个等号,如果有:<表示左对齐,>表示右对齐
"""
#居中对齐
print("{:=^50s}".format("datetime.time")) #输出:==================datetime.time===================
#左对齐
print("{:=<50s}".format("datetime.time"))#输出:datetime.time=====================================
#右对齐
print("{:=>50s}".format("datetime.time"))#输出:=====================================datetime.time
import datetime
import time
#2.time(时间)

#生成时间
t = datetime.time(15,10,45,888888)
#时分秒微秒
print(t) #输出:15:10:45.888888
#输出一天当中最小时间
print(datetime.time.min) #输出:00:00:00
#输出一天当中最大时间
print(datetime.time.max) #输出:23:59:59.999999
#输出时间的最小时间间隔
print(datetime.time.resolution)#输出:0:00:00.000001
#输出时分秒微妙
print(t.hour) #输出:15
print(t.minute) #输出:10
print(t.second) #输出:45
print(t.microsecond) #输出:888888
#输出标准时间格式
print(t.isoformat()) #输出:15:10:45.888888
#输出格式化时间
print(t.strftime("%H时%M分%S秒  %f微妙")) #输出:15时10分45秒  888888微妙
import datetime
import time
#三.datetime(日期时间)

#生成日期时间
dt = datetime.datetime(2020,8,20,13,22,34,888888)
print(dt) #输出:2020-08-20 13:22:34.888888
#输出当前日期和时间
print(datetime.datetime.today()) #输出:2021-05-18 22:44:26.001138
#输出当前时区的日期时间
print(datetime.datetime.utcnow()) #输出:2021-05-18 14:45:53.670359
#时间戳
print(datetime.datetime.fromtimestamp(time.time())) #输出:2021-05-18 22:47:04.850939
#生成UTC时间,和标准时间相差8个小时
print(datetime.datetime.utcfromtimestamp(time.time()))#输出:2021-05-18 14:48:18.936326
#字符串格式变成日期格式
print(datetime.datetime.strptime("2020-06-23 23:15:36","%Y-%m-%d %H:%M:%S")) #输出:2020-06-23 23:15:36

#组合成日期时间
#输出当前日期的年月日
d = datetime.date.fromtimestamp(time.time())
#生成时间
t = datetime.time(15,10,45,888888)
print(datetime.datetime.combine(d,t)) #输出:2021-05-18 15:10:45.888888
#输出日期时间的年月日时分秒微妙的数值
print(dt.year) #输出:2020
print(dt.month) #输出:8
print(dt.day) #输出:20
print(dt.hour) #输出:13
print(dt.minute) #输出:22
print(dt.second) #输出:34
print(dt.microsecond) #输出:888888
#将秒改成57,日期改成30
print(dt.replace(second=57,day=30)) #输出:2020-08-30 13:22:57.888888
#输出datetime结构化对象
print(dt.timetuple()) #输出:time.struct_time(tm_year=2020, tm_mon=8, tm_mday=20, tm_hour=13, tm_min=22, tm_sec=34, tm_wday=3, tm_yday=233, tm_isdst=-1)
#时间戳微妙
print(dt.timestamp()) #输出:1597900954.888888
#格式化输出日期字符串
print(dt.strftime("%Y年%m月%d日 %H时%M分%S秒 %f微妙")) #输出:2020年08月20日 13时22分34秒 888888微妙
#将结构化对象转换成datetime  fromtimestamp:转换datetime格式 time.mktime:转换时间戳 time.localtime():结构化时间对象
print(datetime.datetime.fromtimestamp(time.mktime(time.localtime()))) #输出:2021-05-18 23:08:39
import datetime
#4.timedelta(时间差)

#生成时间差
#10天后,5点
td = datetime.timedelta(days=10,hours=5)
print(td) #输出:10 days, 5:00:00
#6天前16点,(往前推5天,再往前8个小时)
td = datetime.timedelta(days=-5,hours=-8)
print(td) #输出:-6 days, 16:00:00
#75个小时就是3天后又3个小时
td = datetime.timedelta(hours=75)
print(td) #输出:3 days, 3:00:00
#2周后
td = datetime.timedelta(weeks=2)
print(td) #输出:14 days, 0:00:00
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胡启行

您的鼓励将是我前进的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值