比如 我有一周是 4月的第2周 那么这一周是这一年的第多少周呢?
import datetime
year = input("年")
month = input("月")
week = input("月里面的第几周")
if not 0 <= int(week) <= 4:
print("参数错误")
if not 1 <= int(month.strip()) <= 12:
print("月份错误")
try:
a, b, c = datetime.date(int(year), int(month), int(week)*7).isocalendar()
except Exception as e:
print("您输入的时间不正确")
print(f"这一周是这一年的第{b}周")
用datetime库
https://docs.python.org/3/library/datetime.html#datetime.datetime
您好,我是问答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632
import datetime
datetime.date(2017, 12, 31).isocalendar()
(2017, 52, 7) # 给定2017年12月31日,返回该日期对应2017年的第52周的第7天
%W 每年的第几周,把星期一做为第一天(值从0到53)
from datetime import datetime
year = input("年")
month = input("月")
week = input("月里面的第几周")
if not 0 <= int(week) <= 4:
print("参数错误")
if not 1 <= int(month.strip()) <= 12:
print("月份错误")
for _ in range(1,31):
try:
now_time = datetime.strptime(f"{year}-{month}-{_}" + " 00:00:00", "%Y-%m-%d %H:%M:%S")
# 当月第一天
one_time = now_time.replace(day=1, hour=0, minute=0, second=0, microsecond=0)
week_num = int(now_time.strftime('%W')) - int(one_time.strftime('%W')) + 1
if week_num==int(week):
print(now_time)
a = now_time.strftime("%W")
print(f"这一周是这一年的第{int(a)+1}周")
break
except:
pass