LoginSignup
17
13

More than 5 years have passed since last update.

Pythonでその日の任意の時間のdatetimeインスタンスを取得する

Last updated at Posted at 2015-08-22

前提

事前にdatetimeをimportしておきます。

from datetime import datetime

その日の0時0分0秒のdatetimeインスタンス

replaceを使って無理やりその日の0時0分0秒にします。

datetime.now().replace(hour=0,minute=0,second=0,microsecond=0)

実行結果

>>> datetime.now().replace(hour=0,minute=0,second=0,microsecond=0)
datetime.datetime(2015, 8, 22, 0, 0)

応用

タイムゾーンを考える

pytzを利用してタイムゾーンに対応してみます

>>> import pytz
>>> tz = pytz.timezone('Asia/Tokyo')
>>> datetime.now(tz).replace(hour=0,minute=0,second=0,microsecond=0)
datetime.datetime(2015, 8, 22, 0, 0, tzinfo=<DstTzInfo 'Asia/Tokyo' JST+9:00:00 STD>)

その年の元日の0時0分0秒のdatetimeインスタンス

上記に加えて1月1日であればよいので以下の通り。

>>> import pytz
>>> tz = pytz.timezone('Asia/Tokyo')
>>> datetime.now(tz).replace(month=1,day=1,hour=0,minute=0,second=0,microsecond=0)
datetime.datetime(2015, 1, 1, 0, 0, tzinfo=<DstTzInfo 'Asia/Tokyo' JST+9:00:00 STD>)
17
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
13