Pythonで日付を取得する方法を紹介していきます。
datetimeモジュールを使って日付を取得する
どのプログラミング言語でも言えることですが、現在の時刻や日付を取得するのはかなり使えるモジュールなのでこれを機会に抑えておきましょう。
1 2 3 4 |
import datetime today = datetime.date.today() print(today) |
1 |
2018-02-22 |
上記ではシンプルに紹介しましたが、それぞれ下記のように指定することで年、月、日だけを取得することもできます。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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) |
1 2 3 4 5 |
2018-02-22 2018-02-22 16:27:12.092372 2018 2 22 |
datetime.dateは日付を取得し、datetime.datetimeは日付と時間を取得します。(若干、ややこしいですが)
指定した年、月などを表示する
今日の日付や指定した日付の年/月/日/秒なども一気に取得することもできますが、指定したものだけを表示させることもできます。
この場合はstrftimeを使用します。ここでは今日の日付から年と月だけを表示してみます。
1 2 3 4 |
import datetime today = datetime.datetime.now() print(today.strftime('%y/%m')) |
1 |
18/02 |
1週間後や1週間前の日付を取得する
Pythonのdatetimeモジュールにはその他にも便利な機能が用意されています。
次に今日の日付から1週間後(前)の日時を取得していきます。
この場合にはtimedeltaを使用します。
これは、二つのクラスインスタンス間の時間差を表すものになります。
1 2 3 4 5 6 7 8 9 |
import datetime today = datetime.datetime.now() before = datetime.timedelta(weeks=-1) after = datetime.timedelta(weeks=+1) print(today) print(today + before) print(today + after) |
1 2 3 |
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時間前なども取得できます。