Pythonで「現在時刻を取得する方法」について、初心者でもわかりやすく解説します。この記事では、代表的な方法やコード例、用途別の使い分け、よくある疑問まで網羅的に紹介します。
Pythonで現在時刻を取得する主な方法
Pythonで現在時刻を取得するには、主に以下の2つの標準ライブラリを使います。
datetimeモジュール:日時の取得・操作・フォーマットに強いtimeモジュール:UNIX時間(エポック秒)やシンプルな時刻取得に便利
用途に応じて使い分けましょう。
datetimeモジュールでの現在時刻取得と活用例
基本の書き方
from datetime import datetime
now = datetime.now()
print(now) # 例: 2025-06-23 10:06:00.123456この方法で「年-月-日 時:分:秒.マイクロ秒」まで取得できます。
年・月・日・時・分・秒だけを取り出す
print(now.year) # 年
print(now.month) # 月
print(now.day) # 日
print(now.hour) # 時
print(now.minute) # 分
print(now.second) # 秒必要な情報だけを個別に取得できます。
日付・時刻だけを取得
print(now.date()) # 日付のみ(例: 2025-06-23)
print(now.time()) # 時刻のみ(例: 10:06:00.123456)timeモジュールによる現在時刻の取得
UNIX時間(エポック秒)やOSに近い時刻取得にはtimeモジュールを使います。
import time
local_time = time.localtime()
formatted = time.strftime("%Y-%m-%d %H:%M:%S", local_time)
print(formatted) # 例: 2025-06-23 10:06:00time.time()でエポック秒も取得可能です。
現在時刻のフォーマット変換(strftimeの使い方)
strftime()メソッドを使うと、好きな形式で時刻を表示できます。
from datetime import datetime
now = datetime.now()
print(now.strftime("%Y年%m月%d日 %H:%M:%S")) # 例: 2025年06月23日 10:06:00よく使うフォーマット指定子
| 指定子 | 意味 | 例 |
|---|---|---|
| %Y | 西暦4桁 | 2025 |
| %m | 月(01〜12) | 06 |
| %d | 日(01〜31) | 23 |
| %H | 時(24H) | 10 |
| %M | 分 | 06 |
| %S | 秒 | 00 |
タイムゾーンやUTC時刻の取得
UTC(協定世界時)の取得
from datetime import datetime, timezone
utc_now = datetime.now(timezone.utc)
print(utc_now) # 例: 2025-06-23 01:06:00+00:00
日本時間(JST)などタイムゾーン指定
pytzモジュールを使うと、任意のタイムゾーンで現在時刻を取得できます。
from datetime import datetime
import pytz
jst = pytz.timezone('Asia/Tokyo')
jst_now = datetime.now(jst)
print(jst_now.strftime("%Y-%m-%d %H:%M:%S"))※ pytzは別途インストールが必要です(pip install pytz)。
その他、注意点
- ミリ秒・マイクロ秒まで表示したい場合
.strftime("%Y-%m-%d %H:%M:%S.%f")でマイクロ秒まで取得できます。 - ISO 8601形式で出力したい場合
.isoformat()を使います(例:2025-06-23T10:06:00.123456)。 - 一定時間ごとに現在時刻を表示したい場合
ループ+time.sleep()で定期的に表示可能です。
まとめ
Pythonで現在時刻を取得するには、datetimeモジュールのnow()が最も一般的で、フォーマット変換やタイムゾーン対応も柔軟です。用途や表示形式に応じてtimeモジュールやpytzも活用しましょう





コメント