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:00
time.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
も活用しましょう
コメント