加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 将周数转换为日期

发布时间:2020-12-20 12:06:09 所属栏目:Python 来源:网络整理
导读:假设我有一个特定年份的周数(例如2014年的第6周). 如何将此转换为该周开始的星期一的日期? 我想到的一个暴力解决方案是经历一年中的所有星期一: date1 = datetime.date(1,1,2014)date2 = datetime.date(12,31,2014)def monday_range(date1,date2): while d
假设我有一个特定年份的周数(例如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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读