Python で現在の時刻を取得する方法

  1. Python datetime モジュールで現在の時刻を取得する
  2. time モジュールで現在の時刻を取得する

Python には、現在の時刻を取得する 2つのモジュール、datetimetime があります。

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 が異なると変更される可能性があります。異なるオペレーティングシステム間で標準になるとは思わないでください。

この方法は、記録管理には適していません。

関連記事 - Python datetime

  • Python が文字列を日時 datetime に変換する方法
  • comments powered by Disqus