我試圖用python上的這個簡單腳本得到星期編號。Python上的美國格式的星期編號
import datetime
t = datetime.date(2013,8,18)
print t.isocalendar()[1]
它返回33 ISO格式,但對於美國的日程表應該是34 我如何獲得美國格式本週多少?
我試圖用python上的這個簡單腳本得到星期編號。Python上的美國格式的星期編號
import datetime
t = datetime.date(2013,8,18)
print t.isocalendar()[1]
它返回33 ISO格式,但對於美國的日程表應該是34 我如何獲得美國格式本週多少?
33的返回值是正確的,因爲您獲取星期編號的代碼是正確的。但如果你想使之成爲一條線你可以把它們串一起這樣的:
t = datetime.date(2013, 8, 18).isocalendar()[1]
下面介紹ISO日曆背後的數學http://www.staff.science.uu.nl/~gent0113/calendar/isocalendar.htm
此外,從有關isocalendar Python文檔:
ISO年由52或53個整週組成,每週在週一開始 ,週末結束。 ISO年的第一週是 包含星期四的第一個(格里高利)歷年。這個 被稱爲第1周,並且該星期四的ISO年與其公曆年 相同。
我認爲問題是如何在星期天開始的時候這樣做。來自[維基百科](http://en.wikipedia.org/wiki/ISO_week_date#Disadvantages):「在美國,工作周通常定義爲星期一開始,儘管星期一通常被認爲是星期天開始。」 – Olathe
我遇到了同樣的問題。 ISO日曆是一個偉大的概念,可能有一些非常好的用途,但在美國的業務卻不太好。我無法撰寫一份可能在12月底將日期報告爲下一日曆年的申請。適用於我的解決方案是:
from datetime import *
today = datetime.today()
print today.strftime("%U")
這將返回正確的美國週數。唯一需要注意的是,在第一個星期日之前的新年的所有日子都被認爲是在第0周。信用給Chaggster誰給了這裏similar answer:How to get week number in Python?
你有看到[如何獲得Python的星期數? ](http://stackoverflow.com/a/2608868)? –
他想要的不僅僅是週數,他想要美國格式的週數。 –