【发布时间】:2019-11-20 02:59:27
【问题描述】:
在将一周的开始设置为星期日后,我试图获取一年中的一周。
这是必需的,因此我可以在我的 python 脚本中镜像 Teradata 逻辑。在 Teradata 中,一周从星期日开始。所以下面的查询返回 -
select WEEKNUMBER_OF_YEAR(to_date('2019-06-01'))
21
但是当我在 python 中运行它时,它返回 22
import datetime
datetime.date(2019, 6, 1).isocalendar()[1]
我尝试将星期日设置为一周的第一天,但结果相同
import calendar
import datetime
calendar.setfirstweekday(calendar.SUNDAY)
datetime.date(2019, 6, 1).isocalendar()[1]
有什么帮助吗?
【问题讨论】:
-
可能在python中是第22周,而在teradata中是value的整数部分?我不确定,这是我的假设。如果尝试返回一年中的某一天怎么办?一样吗?
-
Teradata weeknumber_of_year 有点奇怪(至少对我来说)。这是从年初开始的周数。例如,'2019-01-01' 将返回第 0 周,因为它是从年初开始的第 0 周。我认为第 1 周在技术上是一年中第一个完整的一周。
标签: python-3.x date datetime teradata