Pythonで現在時刻とタイムゾーンデータを簡単に取得する
Pythonで現在時刻とタイムゾーンデータを簡単に取得する
標準のdatetimeモジュールとtimeモジュール、そして人気のpytzライブラリを使用して、現在のローカル時刻を取得し、複数のタイムゾーンを扱う信頼できる方法を発見してください。
Pythonには現在時刻にアクセスするためのいくつかの簡単な方法があります。以下は各アプローチを示す実践的な例と、各コードが何をするかの明確な説明です。
例1:datetimeモジュールを使用した現在時刻
from datetime import datetime
now = datetime.now()
current_time = now.strftime("%H:%M:%S")
print("現在時刻 =", current_time)
出力
現在時刻 = 07:41:19
この例では、datetime.now()メソッドが現在の日付と時刻を含むdatetimeオブジェクトを返します。その後、strftime()関数がそのオブジェクトを人間が読める時刻文字列にフォーマットします。
同じdatetimeインスタンスでtime()メソッドを使用すると、時刻部分のみを表すtimeオブジェクトを取得できます:
from datetime import datetime
now = datetime.now().time() # timeオブジェクト
print("now =", now)
print("type(now) =", type(now))
出力
now = 07:43:37.457423 type(now) = <class 'datetime.time'>
例2:timeモジュールを使用した現在時刻
現在のローカル時刻のみが必要なアプリケーションの場合、組み込みのtimeモジュールが軽量な代替手段となります:
import time
t = time.localtime()
current_time = time.strftime("%H:%M:%S", t)
print(current_time)
出力
07:46:58
例3:特定のタイムゾーンでの現在時刻
アプリケーションが複数の地域の時刻を参照する必要がある場合、pytzライブラリが堅牢なタイムゾーンサポートを提供します。以下の例では、ニューヨークとロンドンの現在時刻を取得します:
from datetime import datetime
import pytz
# ニューヨーク
ny_tz = pytz.timezone('America/New_York')
ny_time = datetime.now(ny_tz)
print("NY時刻:", ny_time.strftime("%H:%M:%S"))
# ロンドン
london_tz = pytz.timezone('Europe/London')
london_time = datetime.now(london_tz)
print("ロンドン時刻:", london_time.strftime("%H:%M:%S"))
出力
NY時刻: 03:45:16 ロンドン時刻: 08:45:16
これらのスニペットは、タイムゾーンをdatetimeオブジェクトにアタッチし、表示用にフォーマットする方法を示しています。Python 3.9以降では、組み込みのzoneinfoモジュールが多くのユースケースでpytzに置き換わることができます。
Python
- リアクティブDC回路における電圧と電流の計算
- Python データ型マスター: 実践ガイド
- Python 演算子完全マスター: 包括的ガイド
- Python pass文完全マスター: 実践ガイド
- Python 関数引数完全マスター: 位置引数・キーワード引数・デフォルト引数
- Python辞書完全ガイド:作成、操作、高度なテクニック
- Python datetimeマスター:日付・時刻・タイムゾーン実践ガイド
- Pythonで現在の日付と時刻を取得する実践ガイド
- Pythonのtimeモジュールをマスター:関数、構造体、実践例
- Pythonのtime.sleep()をマスター:ベストプラクティス、マルチスレッド、実例
- Python timeit():実行時間測定の実例付きガイド