1.4.5蓝桥杯——日期

目录

一、time模块

二、datatime模块

 1、data日期类

2、time时间类

3、datatime日期时间类

4、timedelte时间间隔类

 5、日期时间和字符串的转换

6、当前日期

 例题:


一、time模块

 

import time
t=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
print("type(t)=",type(t))
print("t=",t)

t=time.strptime(t,"%Y-%m-%d %H:%M:%S")
print("type(t)=",type(t))
print("t=",t)

 

二、datatime模块

 1、data日期类

#定义data:传递年,月,日
import datetime
a=datetime.date(2024,3,6)
print("type(a)=",type(a))
print("a=",a)

#获取年月日
print("a.year=",a.year)
print("a.month=",a.month)
print("a.day=",a.day)
#周几,周一-周日:0-6
print("a.weekday=",a.weekday())

 

#data之间进行减法
a=datetime.date(2024,10,1)
b=datetime.date(2024,10,7)
print("type(b-a)=",type(b-a))
print("b-a=",b-a)

 

2、time时间类

#定义time:转递时、分、秒
import datetime
a=datetime.time(10,25,30)
print("type(a)=",type(a))
print("a=",a)
#获取时、分、秒
print("a.hour=",a.hour)
print("a.minute=",a.minute)
print("a.second=",a.second)

3、datatime日期时间类

# #定义datatime传递年,月,日,时,分,秒
import datetime
a=datetime.datetime(2024,3,6,20,21,30)
print("type(a)=",type(a))
print("a=",a)
print("a.data=",a.date())
print("a.time=",a.time())

d=datetime.date(2024,3,6)
t=datetime.time(20,24,30)
b=datetime.datetime.combine(d,t)
print("b=",b)
print(b>a)
print(b-a)

4、timedelte时间间隔类

import datetime
a=datetime.datetime(2024,3,6,20,21,30)
delta=datetime.timedelta(days=100)
#计算100天后
b=a+delta
print(b)
#计算100天前
b=a-delta
print(b)

import datetime
a=datetime.datetime(2024,3,6,20,21,30)
b=datetime.datetime(2024,12,20,9,0,0)
delta=b-a
#时间差
print(delta)
#输出时间差天数
print(delta.days)
#输出秒数
print(delta.seconds)
#统一换成秒数
print(delta.total_seconds())
#统一换成分钟
print(delta.total_seconds()/60)
#统一换成小时
print(delta.total_seconds()/(60*60))

 5、日期时间和字符串的转换

#日期,时间,日期时间转换为str:strftime
import datetime
d=datetime.date(2024,3,6)
print(d.strftime("%Y-%m-%d"))
t=datetime.time(21,5,30)
print(t.strftime("%H::%M::%S"))
dt=datetime.datetime.combine(d,t)
print(dt.strftime("%Y-%m-%d %H::%M::%S"))

#str转换为期时间:strptime(data_string,format)
import datetime
a=datetime.datetime.strptime("2024-3-6-12-20-30","%Y-%m-%d-%H-%M-%S")
print(a)

6、当前日期

 例题:

import datetime
#定义起始日期、终止日期
start=datetime.date(1901,1,1)
end=datetime.date(2000,12,31)
ans=0
while start<=end:
    #是否为周一
    if start.weekday()==0:
        ans+=1
    start+=datetime.timedelta(days=1)
print(ans)

 

import datetime
#定义起始日期、终止日期
start=datetime.date(2022,1,1)
end=datetime.date(2022,12,31)
ans=0
while True:
    #判断日期是否为顺子
    #把start日期转换成yyyymmdd格式
    now_data=start.strftime("%y%m%d")
    if '012' in now_data or '123' in now_data:
        ans+=1
    start+=datetime.timedelta(days=1)
    if start>end:
        break
print(ans)

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值