Nis*_*ede 2 python datetime iso8601 week-number python-datetime
日期是 datetime.date(2013, 12, 30)
我正在尝试使用周数
import datetime
datetime.date(2013, 12, 30).isocalendar()[1]
Run Code Online (Sandbox Code Playgroud)
我得到输出,
1
Run Code Online (Sandbox Code Playgroud)
为什么我没有得到去年的周数,而是我得到当年的周数?
我在做什么错了?
2013/12/30根据ISO8601周编号标准,您在2014年第1周没有做错任何错误:
第01周的ISO 8601定义是其中第一个星期四的一周.
那个星期的星期四是2014/01/02.
其他解释定义的方法,来自同一个链接的WikiPedia文章:
- 这是第一周,其1月份的大部分时间(四个或更多)(ISO星期一开始)
- 第一天是最接近1月1日的星期一.
- 它有1月4日.因此,最早可能的日期是12月29日至1月4日,即1月4日至10日.
- 如果星期六,星期日和1月1日不是工作日,它有一年的第一个工作日.
如果您正在寻找给定年份的最后一周数字(52或53,取决于年份),我将使用12月28日,这始终保证在上周(因为1月4日始终是第二年的第一周):
def lastweeknumber(year):
return datetime.date(year, 12, 28).isocalendar()[1]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12547 次 |
| 最近记录: |