我正在构建Python中的预测模型,需要计算每月每个月名称的剩余天数。例如,2017年10月25日,本月没有剩余的周三,周四,周五,周六,周日,周一和周二仍有1个。
我能够在R中获得相同的结果:
first <- as.Date(cut(Sys.Date(), "month"))
last <- as.Date(cut(first + 31, "month")) - 1
sum(format(seq(Sys.Date(), last, "day"), "%w") == 0) -> Sunday
我正在尝试编辑以下代码块,最初的目的是为了我的目的计算一个月的工作日,但不确定我是否在正确的轨道上
import calendar
weekday_count = 0
cal = calendar.Calendar()
for week in cal.monthdayscalendar(2013, 8):
for i, day in enumerate(week):
# not this month's day or a weekend
if day == 0 or i >= 5:
continue
# or some other control if desired...
weekday_count += 1
print(weekday_count)
答案 0 :(得分:0)
您可能希望将此作为起点。它将计算您选择的日,月,年的剩余星期一数。
from datetime import datetime, timedelta
# Monday = 0
def get_remaining_mondays(year, month, day):
count = 0
try:
d = datetime(year, month, day)
wday = d.weekday()
d += timedelta(days=7 - wday)
while d.month == month:
count += 1
d += timedelta(days=7)
except ValueError as v:
return v
return count
print(get_remaining_mondays(2017, 11, 7))