在python中,当给定年份和一年中的特定星期数时,如何计算一周的第一天?
请注意,日期应为YYYY-MM-DD
格式。年和周号以int
格式给出。.
答案 0 :(得分:0)
要获取一周的开始日期,请尝试
datetime.today() - timedelta(days=datetime.today().isoweekday() % 7)
答案 1 :(得分:0)
对于您的问题,我做出以下假设。如果关闭,则调整代码应该不难。 1)一周的第一天是星期日。 (所以答案始终是星期天) 2)1月1日是第1周(不是0)。 然后,工作分为两部分。 a)找出第一周的第一天。 b)在上面加上正确的天数。 在Python中,它如下所示:
import datetime
def firstDayOfWeek1(y):
#takes a year and says the date of the first Sunday in the week in which January 1 falls
janDay = datetime.date(y,1,1)
while (janDay.weekday()!=6):#back up until Sunday, change if you hold Sunday is not the first day of the week
janDay=janDay-datetime.timedelta(days=1)
return janDay
def firstDayOfWeekN(y, n):#takes a year and a week number and gives the date of the first Sunday that week
return firstDayOfWeek1(y)+datetime.timedelta(weeks=(n-1))
def formattedFirstDayOfWeekN(y, n):#takes a year and a week number and gives the date of the first Sunday that week
return firstDayOfWeekN(y, n).isoformat()
#example
print formattedFirstDayOfWeekN(2018,2)#2018-01-07, first day of second week of January this year
答案 2 :(得分:0)
我正在使用一种算法,该算法从一个截止日期开始,然后简单地向下循环直到找到所需的结果。为了降低可读性,我牺牲了一些CPU周期,因为成本并不高。我已经做了一些有限的测试,但我希望总体思路清楚。让我知道你的想法。
#!/bin/bash
cat /home/mshafee/file | while read line
do
mysql -u username -p****** -h 0.0.0.0 -e "drop database $line;"
done