如何从一周中的哪一天获取该月的某一天?

时间:2018-04-09 08:58:29

标签: python date math

我试图让python返回一周中的某一天被输入的月份日期,例如: 2018年4月的第1个星期日返回1 或2018年4月的第3个星期四返回19

是否有python库或数学算法这样做?我看过泽勒的一致性,但看起来却恰恰相反。

1 个答案:

答案 0 :(得分:0)

从您的输入字符串中分隔所有值,然后从该年的那个月获取当天的所有日期。

这是一个很大的尝试:

import calendar
import re

c = calendar.Calendar(firstweekday=calendar.SUNDAY)

string = "1st Sunday of April 2018"
string.split().pop(2)
string_list = string.split()
year = int(string_list[4])
month = list(calendar.month_name).index(string_list[3])
day_num = list(calendar.day_name).index(string_list[1])
which = int(re.search(r'\d+', string_list[0]).group())

monthcal = c.monthdatescalendar(year,month)
date = [day for week in monthcal for day in week if \
            day.weekday() == day_num and \
            day.month == month][which-1]

print(date.day)