イントロダクション
この記事では、Pythonプログラミングで現在の日付と時刻を取得する方法について説明します。
多くの場合、ユーザーは様々な操作のために現在のシステムの日付と時刻を必要とすることがあります。
この問題は、Pythonの様々な組み込みメソッドやモジュールによって簡単に解決することができます。
さらに、pytz や pendulum といったPythonモジュールでは、指定したタイムゾーンの現在の日付と時刻を取得することができます。
この機能はコードの信頼性を高めるので、非常に便利です。
この記事もチェック:Pythonのpytzモジュールを使ってタイムゾーンを変更する方法
Pythonで現在の日付と時刻を取得する方法
それでは、Pythonで現在の日付と時刻を取得するためのさまざまな方法を理解することに入りましょう。
datetimeモジュール
datetime` モジュールは、Python で日付や時刻を操作するためのクラスを提供します。
以下の例では、dateクラスの today() メソッドを用いて現在の日付を取得しようとしています。
from datetime import date
today = date.today()
print("Date :", today)
|
結果は以下の通りです。
Date : 2020-04-12
|
ここで、today()は現在のローカルの日付を返します。
そして同時に、その日付をプリントアウトしています。
では、別の例を見てみましょう。
今回は、 datetime モジュールを使って、システムのローカルな日付と現在の時刻の両方を表示します。
import datetime
#datetime objectdt = datetime.datetime.now()
print("Datetime object =", dt)
# printing in dd/mm/YY H:M:S format using strftime()dt_string = dt.strftime("Date: %d/%m/%Y time: %H:%M:%S")
print("Current date and time =", dt_string)
|
結果は以下の通りです。
Datetime object = 2020-04-12 23:16:58.958467
Current date and time = Date: 12/04/2020 time: 23:16:58
|
上のコードでは
- datetimeクラスの
now()メソッドは、現在のローカルな日付と時刻を返します。したがって、この時点では、dtは日付と時刻の情報を含むdatetimeオブジェクトを保持しています。 - 次に、
strftime()メソッドを用いて、dt (datetimeオブジェクト)をフォーマット可能な文字列に変換します。 - 最後に、現在の日付と時刻を希望する方法で表示します。
ペンデュラムモジュールの使用
Pendulum は datetime の操作を容易にするタイムゾーンライブラリです。
datetimeモジュールと同様に、pendulum モジュールもローカルの日付と時刻を返すnow()` メソッドを提供します。
Pendulum は PIP コマンドで簡単にインストールすることができます。
pip install pendulum
|
例えば、以下の様になります。
import pendulum
time = pendulum.now()
print(time)
|
結果は以下の通りです。
2020-04-12 23:07:22.940108+05:30
|
前述のように、now() メソッドは、上記の出力からわかるように、現在の日付と時刻を返します。
Python でタイムゾーンの現在の日付と時刻を表示する
信頼性やクロスプラットフォームのコードの使い勝手について話すとき、Pythonはそのような機能をたくさん提供しています。
ほとんどの場合、ユーザは特定のタイムゾーンの日付や時刻を必要としますが、 pytz や pendulum のようなモジュールを使用すると、そのような環境での作業がずっと簡単になります。
pytz` モジュールは Olson の tz データベースを Python に取り込み、正確でクロスプラットフォームなタイムゾーン計算を可能にします。
一方、 pendulum は datetime モジュールを継承した類似のライブラリです。
pendulumはよりクリーンなアプローチを採用しており、同等のモジュールであるpytz` よりも高速に動作します。
どちらのモジュールも、以下のPIPコマンドでインストールすることができます。
pytz` モジュールの場合。
pip install pytz |
pendulum` モジュールの場合。
pip install pendulum |
例
それでは、異なるタイムゾーンの日付と時刻を取得し、表示する例を見てみましょう。
これは pytz と pendulum モジュールの両方を使用して行います。
import pytz
from datetime import datetime
utc = pytz.timezone('UTC')
pst = pytz.timezone('America/Los_Angeles')
ist = pytz.timezone('Asia/Calcutta')
print("Using pytz Module:")
print('Current Date and Time in UTC =', datetime.now(utc))
print('Current Date and Time in PST =', datetime.now(pst))
print('Current Date and Time in IST =', datetime.now(ist))
import pendulum
utc1 = pendulum.timezone('UTC')
pst1 = pendulum.timezone('America/Los_Angeles')
ist1 = pendulum.timezone('Asia/Calcutta')
print("Using pendulum Module:")
print('Current Date Time in UTC =', datetime.now(utc1))
print('Current Date Time in PST =', datetime.now(pst1))
print('Current Date Time in IST =', datetime.now(ist1))
|
結果は以下の通りです。

ここで
- まず、pytz と pendulum の両方のモジュールで定義されている
timezone()メソッドを使用して、必要なタイムゾーンを渡します。 - 次に、これらのタイムゾーンオブジェクトを datetime クラスの
now()メソッドに渡します。このメソッドは与えられたタイムゾーンの正確な日付と時刻を返します。そして、それを直接プリントアウトします。
まとめ
この記事では、Pythonで現在の日付と時刻を取得するさまざまな方法とテクニックについて学びました。
さらに質問がある場合は、以下のコメント欄からお気軽にどうぞ。