在Python中生成一周的日期?

时间:2015-06-10 03:05:33

标签: python date calendar

我需要生成一个星期一的日期(例如:2015/10/22)。并生成下一天的日期:星期一,星期二,星期三,星期四,星期五,星期六,星期日。

Java中的示例:(初始日期= 2015/10/22)

//星期一:

date.set (Calendar.DAY_OF_WEEK, Calendar.MONDAY);

//第二天(星期二)添加

date.add (Calendar.DATE, 1);

//第二天(星期三)添加:

date.add (Calendar.DATE, 1);

我怎样才能在Python中执行此操作?

3 个答案:

答案 0 :(得分:2)

使用timedelta函数在python中更容易

import datetime

mydate = datetime.datetime(2015, 10, 22, 00, 00, 00, 00)
mymondaydate = mydate - datetime.timedelta(days=mydate.weekday())
mytuesdaydate = mymondaydate + datetime.timedelta(days=1)

print(mydate)
print(mymondaydate)
print(mytuesdaydate)

技巧是使用weekday()函数。来自文档

  

date.weekday()    - 将星期几作为整数返回,其中星期一为0,星期日为6。

因此从当前日期减去它会给出该周一的星期日

答案 1 :(得分:1)

您可以像这样设置初始日期:

from datetime import datetime, timedelta    
d = datetime(2015,10,22)

然后,如果你想获得下一个星期一,请使用timedelta和datetime.weekday()(星期一是0):

d + timedelta(7 - d.weekday())
datetime.datetime(2015, 10, 26, 0, 0)

答案 2 :(得分:0)

为您的问题提供另一个版本。 您可以参考官方网站的文档:datetimetime

from datetime import date
from datetime import timedelta
import time

t = time.strptime('2015/10/22', '%Y/%m/%d')
old_day = date.fromtimestamp(time.mktime(t))
a_day = timedelta(days=1)
new_day = old_day + a_day

print new_day.strftime('%a')