【问题标题】:Get a date based on week number (python) [duplicate]根据周数获取日期(python)[重复]
【发布时间】:2015-01-22 22:12:32
【问题描述】:

我正在编写一个脚本,用户需要在其中输入周数,然后将基于此运行一个程序。但是,我遇到了一个小问题,我知道我可以通过以下方式获得周数:

>>> a=datetime.datetime.now()
>>> a
datetime.datetime(2015, 1, 22, 15, 51, 57, 820058)
>>> a.isocalendar()[1]
4

但我找不到如何倒退。此外,我要求的日期必须是该周的星期日早上 6:00。一旦我有了那个日期时间元素,我就可以做

begin_date = datetime.datetime.strptime(a, "%Y-%m-%d %H:%M:%S")

得到我想要的格式。我仍然缺少获取日期的步骤。有什么想法吗?

【问题讨论】:

    标签: python datetime python-3.x


    【解决方案1】:

    我们为 2015 年(2014-12-28 6:00:00 --1st sunday of 1st week)创建一个初始日期时间,以及一个 7 天的 timedelta 对象:

    w0 = datetime.datetime(2014,12,28,6)
    d7 = datetime.timedelta(7)
    

    然后您可以像这样简单地将 timedelta 对象的倍数添加到初始日期(n 将是您的周数):

    w0+(d7*n)
    

    【讨论】:

      【解决方案2】:
      >>> now = datetime.datetime.now()
      >>> start = datetime.datetime(2015, 1,1)
      >>> (now - start).days // 7
      3
      

      【讨论】:

      • 不鼓励仅使用代码的答案。为您的答案添加说明。
      猜你喜欢
      • 2011-08-18
      • 1970-01-01
      • 2018-12-16
      • 2018-12-06
      • 2023-01-12
      • 1970-01-01
      • 2017-04-20
      • 1970-01-01
      相关资源
      最近更新 更多