Pythonで日付を取得する方法

python

Pythonで日付を取得する方法を紹介していきます。

datetimeモジュールを使って日付を取得する

どのプログラミング言語でも言えることですが、現在の時刻や日付を取得するのはかなり使えるモジュールなのでこれを機会に抑えておきましょう。

import datetime

today = datetime.date.today()
print(today)
2018-02-22

上記ではシンプルに紹介しましたが、それぞれ下記のように指定することで年、月、日だけを取得することもできます。

import datetime

today = datetime.date.today() #今日の日付を取得
today_time = datetime.datetime.today() #今日の日付と時間を取得
year = datetime.date.today().year #年だけを取得
month = datetime.date.today().month #月だけを取得
day = datetime.date.today().day #日付だけを取得

print(today)
print(today_time)
print(year)
print(month)
print(day)
2018-02-22
2018-02-22 16:27:12.092372
2018
2
22

datetime.dateは日付を取得し、datetime.datetimeは日付と時間を取得します。(若干、ややこしいですが)

指定した年、月などを表示する

今日の日付や指定した日付の年/月/日/秒なども一気に取得することもできますが、指定したものだけを表示させることもできます。

この場合はstrftimeを使用します。ここでは今日の日付から年と月だけを表示してみます。

import datetime

today = datetime.datetime.now()
print(today.strftime('%y/%m'))
18/02

1週間後や1週間前の日付を取得する

Pythonのdatetimeモジュールにはその他にも便利な機能が用意されています。

次に今日の日付から1週間後(前)の日時を取得していきます。

この場合にはtimedeltaを使用します。

これは、二つのクラスインスタンス間の時間差を表すものになります。

import datetime

today = datetime.datetime.now()
before = datetime.timedelta(weeks=-1)
after = datetime.timedelta(weeks=+1)

print(today)
print(today + before)
print(today + after)
2018-02-24 11:40:54.170732
2018-02-17 11:40:54.170732
2018-03-03 11:40:54.170732

このように、本日の日付から1週間前と1週間後の値を取得することができます。

weeksをdaysやhoursに変えることでx日前、x時間前なども取得できます。



カテゴリー