我有一个年份和一个星期的数字。我想知道这个星期是一年中的哪个月。
例如,如果2018
是年,23
是周。我想计算一下周数是哪个月的一部分。本例的预期输出为6
,因为2018年的第23周是在6月。
我在文档中检查了日历模块,但我认为没有这个功能。
strptime()
方法根据给定字符串创建一个日期时间对象。如果您向它传递一个包含年份、星期和任意日期的字符串,您将获得datetime对象。然后你就提取这个月。
import datetime
year = 2018
week = 23
date_string = f'{year}-W{week}-1'
month = datetime.datetime.strptime(date_string, "%Y-W%W-%w").month
print(month) # 6
作为一个函数:
def getMonth(year: int, week: int) -> int:
"""Return the month number in the given week in the given year."""
return datetime.datetime.strptime(f'{year}-W{week}-1', "%Y-W%W-%w").month
print(getMonth(2018, 23))