Pythonで「現在時刻を表示する」方法は、標準ライブラリの datetime
モジュールや time
モジュールを使って簡単に実現できます。
ここでは、基本から応用までを含めて、丁寧に解説します。
目次
最も基本的な現在時刻の取得と表示(datetime
モジュール)
from datetime import datetime
# 現在の日時と時刻を取得
now = datetime.now()
# 表示
print(now)
この形式は「年-月-日 時:分:秒.マイクロ秒」となっており、非常に情報量が多いです。
より読みやすい形式で表示する(strftime
を使った整形)
strftime()
メソッドを使えば、出力形式を自由にカスタマイズできます。
from datetime import datetime
now = datetime.now()
# フォーマット指定
formatted = now.strftime("%Y年%m月%d日 %H:%M:%S")
print(formatted)
よく使うフォーマット指定子
指定子 | 意味 | 例 |
---|---|---|
%Y | 西暦4桁 | 2025 |
%m | 月(01〜12) | 06 |
%d | 日(01〜31) | 17 |
%H | 時(24時間表記) | 09 |
%M | 分 | 41 |
%S | 秒 | 23 |
UTC(協定世界時)を取得する方法
from datetime import datetime, timezone
# UTCの現在時刻
utc_now = datetime.now(timezone.utc)
print(utc_now)
time
モジュールを使った現在時刻の取得
import time
# 現在のローカル時刻(構造体)
local_time = time.localtime()
# フォーマットして表示
formatted = time.strftime("%Y-%m-%d %H:%M:%S", local_time)
print(formatted)
補足
time.localtime()
は時刻を「struct_time」というオブジェクトで返します。time.time()
を使えば、エポック秒(1970年1月1日からの秒数)も取得可能です。
ミリ秒・マイクロ秒まで表示したいとき
from datetime import datetime
now = datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S.%f")) # マイクロ秒まで
ミリ秒までにしたい場合は .strftime(...)[0:-3]
で末尾を切ってもOKです。
タイムゾーンに対応した現在時刻(pytz
を使用)
日本のローカルタイム(JST)など、明示的にタイムゾーンを指定したいときは、pytz
モジュールを使います。
from datetime import datetime
import pytz
# 日本時間のタイムゾーンオブジェクト
jst = pytz.timezone('Asia/Tokyo')
# 現在時刻(JST)
jst_time = datetime.now(jst)
print(jst_time.strftime("%Y-%m-%d %H:%M:%S"))
pytz
は別途インストールが必要です。
pip install pytz
ISO 8601形式(国際標準)で出力する
from datetime import datetime
now = datetime.now()
print(now.isoformat())
応用:一定時間ごとに現在時刻を表示する
以下のようにループ+time.sleep()
を使えば、定期的に現在時刻を表示できます。
import time
from datetime import datetime
while True:
print(datetime.now().strftime("%H:%M:%S"))
time.sleep(1) # 1秒ごとに更新
まとめ

方法 | モジュール | 特徴 |
---|---|---|
datetime.now() | datetime | 最も一般的・精度が高い |
datetime.now().strftime(...) | datetime | フォーマット自由自在 |
time.localtime() | time | シンプルな方法・OSに近い |
pytz を使う | datetime + pytz | タイムゾーン明示が必要な場合 |
.isoformat() | datetime | ISO標準での表示に最適 |
補足:日付だけ・時刻だけを取得する方法
from datetime import datetime
now = datetime.now()
# 日付のみ
print(now.date())
# 時刻のみ
print(now.time())
以上、Pythonで現在時刻を表示する方法についてでした。
最後までお読みいただき、ありがとうございました。