【Python】現在時刻を取得したり、1日後の日付を取得したりする

Tips

目的

日時を取得したい。

また、1日前や1日後など、日付の加算減算もしたい。

 

datetimeモジュールの利用

現在時刻を取得するにはdatetimeモジュールを利用すればよい。

また、日付の加算減算などはdatetime.timedeltaを利用する。

 

現在時刻の取得

datetime.now()

 

日の加算

datetime.now() + timedelta(days=1)

 

日の減算

datetime.now() + timedelta(days=-1)

 

文字列への変換

上記で取得できる変数の型は’datetime’型なので、文字列連結とかができない。

文字列型に変換するにはstrftime関数を利用する。

datetime.now().strftime('%Y/%m/%d %H:%M:%S')

 

検証

テストプログラム

実際に検証用プログラムを書いてみる。

# coding:utf-8

# モジュールインポート
from datetime import datetime
from datetime import timedelta

# 現在時間の取得
nowtime = datetime.now()
print('現在時刻: ', nowtime)

# 時刻の加算
print('---')
print('1日後 : ', nowtime + timedelta(days=1))
print('1週間後: ', nowtime + timedelta(weeks=1))
print('1時間後: ', nowtime + timedelta(hours=1))
print('1分後 : ', nowtime + timedelta(minutes=1))
print('1秒後 : ', nowtime + timedelta(seconds=1))

# 時刻の減算
print('---')
print('1日前 : ', nowtime + timedelta(days=-1))
print('1週間前: ', nowtime + timedelta(weeks=-1))
print('1時間前: ', nowtime + timedelta(hours=-1))
print('1分前 : ', nowtime + timedelta(minutes=-1))
print('1秒前 : ', nowtime + timedelta(seconds=-1))

# 文字列への変換
print('---')
print('文字列 : ', nowtime.strftime('%Y/%m/%d %H:%M:%S'))
print('unixtime: ', nowtime.strftime('%s'))

# 数値への変換
print('---')
print('年: ', nowtime.year)
print('月: ', nowtime.month)
print('日: ', nowtime.day)
print('時: ', nowtime.hour)
print('分: ', nowtime.minute)
print('秒: ', nowtime.second)

datetime型変数には年月日時分秒のint型変数も格納されているので、指定することで各日付データの数値も取得できる。

 

出力結果

$ python dateTest.py
 現在時刻:  2019-06-14 11:42:02.229927
----------
 1日後 :  2019-06-15 11:42:02.229927
 1週間後:  2019-06-21 11:42:02.229927
 1時間後:  2019-06-14 12:42:02.229927
 1分後 :  2019-06-14 11:43:02.229927
 1秒後 :  2019-06-14 11:42:03.229927
----------
 1日前 :  2019-06-13 11:42:02.229927
 1週間前:  2019-06-07 11:42:02.229927
 1時間前:  2019-06-14 10:42:02.229927
 1分前 :  2019-06-14 11:41:02.229927
 1秒前 :  2019-06-14 11:42:01.229927
----------
 文字列 :  2019/06/14 11:42:02
 unixtime:  1560480122
----------
 年:  2019
 月:  6
 日:  14
 時:  11
 分:  42
 秒:  2

日時の加算減算はもちろん、unixtimeへの変換もできている。

アクセスログなどはloglotateするとファイル名に日付がついたりするので、ログ解析の時などに減算は必須である。

 

参考サイト

python 現在時刻取得(Qiita)

 

コメント

タイトルとURLをコピーしました