Python で現在の時刻を取得する方法
胡金庫
2023年1月30日
Python には、現在の時刻を取得する 2つのモジュール、datetime
と time
があります。
Python datetime
モジュールで現在の時刻を取得する
>>> from datetime import datetime
>>> datetime.now()
datetime.datetime(2018, 7, 17, 22, 48, 16, 222169)
上記で返される結果は、現在の年、月、日、時間などの時間情報を含む datetime
オブジェクトです。
結果を文字列形式にする場合は、strftime
メソッドを使用して、datetime
オブジェクトインスタンスを指定された入力形式の文字列に変換できます。
>>> datetime.now().strftime('%Y-%m-%d %H:%M:%S')
'2018-07-17 22:54:25'
以下は、strftime
フォーマット文字列のディレクティブのスニペットです。
指令 | 意味 |
---|---|
%d |
10 進数としての月の日付[01,31]。 |
%H |
10 進数としての時間(24 時間制)[00,23]。 |
%m |
10 進数としての月[01,12]。 |
%M |
10 進数としての分[00,59]。 |
%S |
10 進数としての秒[00,61]。 |
%Y |
10 進数としての世紀を含む年。 |
日付なしで時間のみを取得する
>>> from datetime import datetime
>>> datetime.now().time()
datetime.time(23, 4, 0, 13713)
time
モジュールで現在の時刻を取得する
time.strftime
で現在の時刻を取得する
import time
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
"2018-07-17 21:06:40"
注意
名前が示すように、
time.localtime()
タイムゾーンの現地時間を返します。UTC 時間が望ましい場合、関数 time.gmtime()
がより良い選択です。time.ctime
で現在の時刻を取得する
import time
time.ctime()
"Tue Oct 29 11:21:51 2019"
その結果、ctime
は GUI で表示したり、コンソールで出力したりするのにより表示しやすくなります。曜日、月、日、時間、年を取得するために分割することもできます。
>>> import time
>>> A = time.ctime()
>>> A = A.split()
>>> A
['Tue', 'Oct', '29', '12:38:44', '2019']
注意
time.ctime()
はオペレーティングシステムに依存していることに注意してください。つまり、OS が異なると変更される可能性があります。異なるオペレーティングシステム間で標準になるとは思わないでください。
この方法は、記録管理には適していません。
著者: 胡金庫