Python 给定周数,返回其对应的日期范围

这篇博客介绍如何使用Python根据给定的年份和周数,计算对应的日期范围,例如2018年第20周是5月20日至26日,2020年第8周是2月23日至29日,2021年第9周是2月28日至3月6日。解决方案涉及到使用%Y, %U和%w等时间格式化代码。" 107196526,5706692,SDOI2017文本校正:偶回文串划分与算法,"['字符串算法', '回文串', '算法竞赛', '数据结构', '哈希']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

给定周数,获取其对应的日期范围

范例:

数据:2018 年,第 20 周

结果:2018 年 5 月 20 ~ 26 日


数据:2020 年,第 8 周

结果:2020 年 2 月 23 日 ~ 29 日


数据:2021 年,第 9 周

结果:2021 年 2 月 28 日 ~ 3 月 6 日


解决方法

import time

time.strptime('2018-20-0', '%Y-%U-%w')

>> time.struct_time(tm_year=2018, tm_mon=5, tm_mday=20, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=6, tm_yday=140, tm_isdst=-1)

# 返回time类的时间元组(tupletime)
  • %Y 四位数的年份表示(000-9999)
  • %U 一年中的星期数(00-53)星期天为星期的开始
  • %w 星期(0-6),星期天为星期的开始

获取结果:

import time

# 获取 2018 年 第 20 周 周日 的时间元组
sunday = time.strptime('2018-20-0', '%Y-%U-%w')

# 获取 2018 年 第 20 周 周六  的时间元组
saturday = time.strptime('2018-20-6', '%Y-%U-%w')

# 获取日期范围
result = []
result.append(time.strftime('%Y-%m-%d', sunday))

result.append(time.strftime('%Y-%m-%d', saturday))

print(result)

>> ['2018-05-20', '2018-05-26']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值