4

我从 2011 年开始使用我的备份脚本,完全没有问题。但自 2013 年初以来,我遇到了正确的周数问题。

Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import time
>>> time.strftime("%W", time.localtime())
'02'

但我们有第 3 周

难道我做错了什么?它一直工作到 2013 年。

谢谢。

4

2 回答 2

5

"""一年中的周数(星期一作为一周的第一天),十进制数 [00,53]。在第一个星期一之前的新年中的所有天都被认为是在第 0 周。"""

您正在寻找的是通过 ISO 标准定义的周数的值。

查看 isoweek 模块。

>>> from isoweek import Week
>>> Week.thisweek()
isoweek.Week(2013, 3)
>>> Week.thisweek().week
3
于 2013-01-14T06:58:17.550 回答
4

第一个星期一之前的新年中的所有日子都被认为是在第 0 周。docs

看看日历:

import calendar    
print calendar.month(2013,1)

Mo Tu We Th Fr Sa Su
    1  2  3  4  5  6
 7  8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

在标准库中,您可以使用datetime.isocalendar()

from datetime import datetime
datetime.date(datetime.now()).isocalendar()[1]
于 2013-01-14T06:53:41.397 回答