我想知道您如何按给定的日期,星期数和年份获得月份。

例如,如果您有这样的事情

def getmonth(day, week, year):
    # by day, week and year calculate the month
    print (month)

getmonth(28, 52, 2014)
# print 12

getmonth(13, 42, 2014)
# print 10

getmonth(6, 2, 2015)
# print 1

最佳答案

interjay's suggestion:

import datetime as DT

def getmonth(day, week, year):
    for month in range(1, 13):
        try:
            date = DT.datetime(year, month, day)
        except ValueError:
            continue
        iso_year, iso_weeknum, iso_weekday = date.isocalendar()
        if iso_weeknum == week:
            return date.month

print(getmonth(28, 52, 2014))
# 12

print(getmonth(13, 42, 2014))
# 10

print(getmonth(6, 2, 2015))
# 1

关于python - 按周,日和年获取月份,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27675323/

10-12 22:07