【发布时间】:2014-01-10 13:27:56
【问题描述】:
Python 文档将datetime.weekday() 定义为an integer, where Monday is 0 and Sunday is 6,而C 的tm.tm_wday 定义为days since Sunday。所以tm_wday就是(datetime.weekday() + 1) % 7,很不方便。鉴于 Python 通常坚持接近 C 等价物,为什么要这样做?
【问题讨论】:
-
FWIW,标准的星期日期编码 (ISO 8601) 指定星期从星期一开始
-
FWIW 我不认为 datetime 模块直接包装 C API 函数 1:1。我认为它更像是一个更高级别的模块。
-
@JamesMills:但
time模块确实,它使用相同的约定(参见docs.python.org/2/library/time.html#time.struct_time)。 -
@MartijnPieters 当然是的 :) 但是我认为您无法访问某些内部 C 结构?除非你使用 ctypes 或 cffi。
-
我注意到 Python
time模块对 Cstruct_tm约定进行了更多更改。月份数字是 1 到 12,而不是 0 到 11。