假设我有给定年份的周数(例如,2014年的第6周)。
如何将其转换为该周开始的星期一的日期?
我想到的一种蛮力解决方案是遍历一年中的所有星期一:
date1 = datetime.date(1,1,2014)
date2 = datetime.date(12,31,2014)
def monday_range(date1,date2):
while date1 < date2:
if date1.weekday() == 0:
yield date1
date1 = date1 + timedelta(days=1)
并存储从今年的第一个星期一到最后一个星期一的哈希,但这不会这样做,因为一年的第一周可能不包含星期一。
您可以将数据输入time.asctime()
。
>>> import time
>>> week = 6
>>> year = 2014
>>> atime = time.asctime(time.strptime('{} {} 1'.format(year, week), '%Y %W %w'))
>>> atime
'Mon Feb 10 00:00:00 2014'
编辑:将此转换为一个datetime.date
对象:
>>> datetime.datetime.fromtimestamp(time.mktime(atime)).date()
datetime.date(2014, 2, 10)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句