首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在python中使用date获取周数

在python中使用date获取周数
EN

Stack Overflow用户
提问于 2014-01-15 22:41:58
回答 2查看 20.4K关注 0票数 2

日期为datetime.date(2013, 12, 30)

我正在尝试获取周数,使用

代码语言:javascript
复制
import datetime
datetime.date(2013, 12, 30).isocalendar()[1]

我得到的输出是,

代码语言:javascript
复制
1

为什么我没有得到去年的周数,而是今年的周数?

我在这里做错了什么?

EN

Stack Overflow用户

回答已采纳

发布于 2014-01-15 22:43:21

你没有做错什么,根据ISO8601 week numbering standard的说法,2013/12/30将在2014年的第一周倒下

表示01周的ISO8601定义是一年的第一个星期四的那一周。

那一周的星期四是2014/01/02。

解释定义的其他方法,来自同一篇链接的WikiPedia文章:

  • 它是第一周的大部分(四天或更多)的一月(国际标准化组织周从星期一开始)
  • 它的第一天是最接近1月1日的星期一。
  • 它有1月4日。因此,最早的日期可能是12月29日到1月4日,最晚的日期是1月4日到10日。
  • 如果周六、周日和1月1日不是工作日,则会有一年的第一个工作日。

如果您要查找给定年份的最后一周数字(52或53,取决于年份),我会使用12月28日,它总是保证在最后一周(因为1月4日总是下一年第一周的一部分):

代码语言:javascript
复制
def lastweeknumber(year):
    return datetime.date(year, 12, 28).isocalendar()[1]
票数 8
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21140371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档