蓝桥python组datetime

datetime模块

1.date日期类

import datetime

arr = datetime.date(2024, 7, 24)
brr = datetime.date(2024, 7, 22)

# date日期类
print(arr)
print(type(arr))
print("year:", arr.year)
print("month:", arr.month)
print("day:", arr.day)
print("weekday:", arr.weekday())  # 周一到周日为0-6

print(arr - brr)
print(type(arr - brr))
print(arr - (arr - brr))
print(type(arr - (arr - brr)))
# date - date = timedelta
# date - timedelta = date
# date间可以进行判断 > < >= <= = !=

运行输出

2024-07-24
<class 'datetime.date'>
year: 2024
month: 7
day: 24
weekday: 2
2 days, 0:00:00
<class 'datetime.timedelta'>
2024-07-22
<class 'datetime.date'>

2.datetime日期类

import datetime

crr = datetime.datetime(2024, 7, 24, 10, 5, 30)
print(crr)
print(type(crr))
print("date:", crr.date())
print("time:", crr.time())

crr_1 = datetime.date(2024, 7, 24)
crr_2 = datetime.time(10,5,30)
crr_3 = datetime.datetime.combine(crr_1, crr_2)
print(crr_3)
print(crr_3 - crr)

运行输出

2024-07-24 10:05:30
<class 'datetime.datetime'>
date: 2024-07-24
time: 10:05:30
2024-07-24 10:05:30
0:00:00

3.timedelta类

就是时间差
用days, seconds, microseconds(微秒)存储时间间隔
传入 weeks/days/hours/minutes/seconds/milliseconds(毫秒)/microseconds
自动转换成上述三个变量

————————————————————————————

date - date = timedelta
date - timedelta = date

import datetime
drr = datetime.datetime(2024,7,24,22,23,30)
delta_1 = datetime.timedelta(days = 100)

# 计算100天后的日期
err_1 = drr + delta_1
print(err_1)
# 计算100天前的日期
err_2 = drr - delta_1
print(err_2)

frr = datetime.datetime(2024, 7, 24, 10, 5, 30)
grr = datetime.datetime(2023, 7, 24, 10, 5, 52)
delta_2 = frr - grr
print(delta_2)  # 时间差
print(delta_2.days)  # 时间差的天数
print(delta_2.seconds)  # 时间差的秒数
print(delta_2.total_seconds())  # 统一转换为秒

输出

2024-11-01 22:23:30
2024-04-15 22:23:30
365 days, 23:59:38
365
86378
31622378.0

4.日期时间字符串转换

a = datetime.date(2024, 7, 24)
print(a.strftime("%Y--%m--%d"))
b = datetime.time(22,42,6)
print(b.strftime("%H::%M::%S"))
ab = datetime.datetime.combine(a,b)
print(ab.strftime("%Y--%m--%d-%H::%M::%S"))

sss = datetime.datetime.strptime("2023--07--24-22::42::06", "%Y--%m--%d-%H::%M::%S")
print("sss:", sss)

输出

2024--07--24
22::42::06
2024--07--24-22::42::06
sss: 2023-07-24 22:42:06

刷题

可以去蓝桥官网题库练习
1.lanqiao611
整个 20 世纪(1901年 1月 1 日至 2000 年12 月 31日之间),一共有多少个星期一?

这道题包秒的

import datetime
arr = datetime.date(1901, 1, 1)
brr = datetime.date(2000, 12, 31)
count = 0

while arr <= brr:
    if arr.weekday() == 0:
        count += 1
    arr += datetime.timedelta(days=1)
print(count)

今天先这样,明天继续

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值