読者です 読者をやめる 読者になる 読者になる

記録として残しておきたいブログ

主にプログラミングについて書きます

Python その日が今年の何週目か datetime

環境

OS: CentOS7
Python: 3.6.0
Vagrant上にあるもの

今日が今年の何週目にあたるか

datetime.isocalendar()でその日が何週目かわかるらしい

8.1. datetime — 基本的な日付型および時間型 — Python 3.6.1 ドキュメント

>>> from datetime import datetime
>>> today = datetime.now()
>>> today
datetime.datetime(2017, 3, 18, 7, 17, 51, 7953)
>>> today.isocalendar()
(2017, 11, 6)
>>>

2017が年、11が週番号、6が曜日となっている

datetime.isocalendar()について

その年の最初の木曜日がある日が1週目になるらしい
2017年の最初の木曜日は1/5(木)のため、
1週目は2017/1/2(月)から2017/1/8(日)となる

2017年1月1日(日)は2016年の52週目だった

>>> from datetime import datetime
>>> datetime(2016, 12, 31).isocalendar()
(2016, 52, 6)
>>> datetime(2017, 1, 1).isocalendar()
(2016, 52, 7)
>>> datetime(2017, 1, 2).isocalendar()
(2017, 1, 1)
>>> datetime(2017, 3, 18).isocalendar()
(2017, 11, 6)
>>>

ちょっと不思議

メモ

指定した日付のdatetimeの生成

>>> from datetime import datetime
>>> testDate = datetime(2017, 3, 18)
>>> testDate
datetime.datetime(2017, 3, 18, 0, 0)
>>>