【Python】現在時刻を取得する

この記事では、Pythonの標準ライブラリであるdatetimeモジュールとtimeモジュール、そしてタイムゾーン対応が可能なpytzモジュール、さらに直感的に使えるarrowモジュールを使って現在時刻を取得する方法をわかりやすく解説します。

各モジュールの使い方やフォーマット方法も紹介するので、この記事を読めば、あなたもすぐにPythonで現在時刻を扱えるようになります。

目次から探す

datetimeモジュールを使った現在時刻の取得

Pythonで現在時刻を取得する方法はいくつかありますが、その中でも最も一般的なのがdatetimeモジュールを使用する方法です。

このモジュールを使うことで、簡単に現在時刻を取得し、さまざまな形式で表示することができます。

datetimeモジュールとは

datetimeモジュールの概要

datetimeモジュールは、日付や時刻を操作するための標準ライブラリです。

このモジュールを使うことで、日付や時刻の計算、フォーマット変換、タイムゾーンの操作などが簡単に行えます。

datetimeモジュールには、以下のようなクラスが含まれています。

クラス名説明
datetime.date年、月、日を扱うクラス
datetime.time時、分、秒、マイクロ秒を扱うクラス
datetime.datetime日付と時刻を扱うクラス
datetime.timedelta時間の差を扱うクラス

datetimeモジュールのインポート方法

datetimeモジュールを使用するには、まずインポートする必要があります。

インポート方法は以下の通りです。

import datetime

これで、datetimeモジュールの機能を使う準備が整いました。

現在時刻の取得方法

datetime.datetime.now()の使い方

現在時刻を取得するためには、datetimeモジュールのdatetimeクラスnow()メソッドを使用します。

このメソッドを呼び出すと、現在の日時を含むdatetimeオブジェクトが返されます。

以下は、現在時刻を取得するサンプルコードです。

import datetime
# 現在時刻を取得
now = datetime.datetime.now()
# 取得した現在時刻を表示
print(now)

取得した現在時刻の表示方法

上記のコードを実行すると、以下のように現在時刻が表示されます。

2023-10-05 14:30:45.123456

この表示形式は、年-月-日 時:分:秒.マイクロ秒となっています。

datetimeオブジェクトは、このようにデフォルトで標準的な形式で表示されます。

現在時刻のフォーマット

strftimeメソッドの使い方

取得した現在時刻を特定の形式で表示したい場合は、strftimeメソッドを使用します。

このメソッドを使うことで、日時を任意のフォーマットに変換することができます。

以下は、strftimeメソッドを使って現在時刻をフォーマットするサンプルコードです。

import datetime
# 現在時刻を取得
now = datetime.datetime.now()
# 現在時刻を特定の形式で表示
formatted_now = now.strftime('%Y-%m-%d %H:%M:%S')
print(formatted_now)

よく使われるフォーマット例

strftimeメソッドで使用できるフォーマットコードは多数ありますが、以下にいくつかのよく使われる例を示します。

フォーマット指定子説明
%Y4桁の年 (例: 2023)
%m2桁の月 (01から12)
%d2桁の日 (01から31)
%H2桁の時 (24時間表記、00から23)
%M2桁の分 (00から59)
%S2桁の秒 (00から59)

例えば、'%Y/%m/%d %H:%M:%S'というフォーマットコードを使用すると、2023/10/05 14:30:45のように表示されます。

以下は、いくつかのフォーマット例を示したサンプルコードです。

import datetime
# 現在時刻を取得
now = datetime.datetime.now()
# さまざまな形式で現在時刻を表示
print(now.strftime('%Y/%m/%d'))
print(now.strftime('%H:%M:%S'))
print(now.strftime('%A, %B %d, %Y'))

このコードを実行すると、以下のように表示されます。

2023/10/05
14:30:45
Thursday, October 05, 2023

このように、datetimeモジュールを使うことで、現在時刻を簡単に取得し、さまざまな形式で表示することができます。

timeモジュールを使った現在時刻の取得

timeモジュールとは

timeモジュールの概要

Pythonの標準ライブラリであるtimeモジュールは、時間に関連する様々な機能を提供します。

このモジュールを使うことで、現在の時刻を取得したり、時間のフォーマットを変更したり、時間の計測を行ったりすることができます。

timeモジュールのインポート方法

timeモジュールを使用するには、まずインポートする必要があります。

インポート方法は以下の通りです。

import time

現在時刻の取得方法

time.time()の使い方

time.time()は、エポック(1970年1月1日 00:00:00 UTC)からの経過秒数を浮動小数点数で返します。

これを使って現在の時刻を取得することができます。

import time
# 現在時刻を取得
current_time = time.time()
print("現在時刻(エポックからの秒数):", current_time)
現在時刻(エポックからの秒数): 1633072800.123456

time.localtime()とtime.gmtime()の違い

time.localtime()time.gmtime()は、time.time()で取得したエポックからの秒数をそれぞれローカルタイムとUTC(協定世界時)に変換します。

import time
# 現在時刻を取得
current_time = time.time()
# ローカルタイムに変換
local_time = time.localtime(current_time)
print("ローカルタイム:", local_time)
# UTCに変換
utc_time = time.gmtime(current_time)
print("UTC:", utc_time)
ローカルタイム: time.struct_time(tm_year=2021, tm_mon=10, tm_mday=1, tm_hour=12, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=274, tm_isdst=0)
UTC: time.struct_time(tm_year=2021, tm_mon=10, tm_mday=1, tm_hour=3, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=274, tm_isdst=0)

現在時刻のフォーマット

time.strftimeメソッドの使い方

time.strftimeメソッドを使うと、time.struct_timeオブジェクトを指定したフォーマットの文字列に変換することができます。

フォーマットは、%Y(年)、%m(月)、%d(日)、%H(時)、%M(分)、%S(秒)などのフォーマットコードを使用して指定します。

import time
# 現在時刻を取得
current_time = time.localtime()
# フォーマットを指定して現在時刻を表示
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", current_time)
print("フォーマットされた現在時刻:", formatted_time)
フォーマットされた現在時刻: 2021-10-01 12:00:00

よく使われるフォーマット例

以下は、time.strftimeメソッドでよく使われるフォーマットの例です。

フォーマットコード説明
%Y年(4桁)2021
%m月(2桁)10
%d日(2桁)01
%H時(24時間表記)12
%M分(2桁)00
%S秒(2桁)00
%A曜日(英語)Friday
%a曜日(短縮形)Fri
%B月(英語)October
%b月(短縮形)Oct

これらのフォーマットコードを組み合わせて、様々な形式で現在時刻を表示することができます。

例えば、%Y/%m/%d %H:%M:%Sと指定すると、2021/10/01 12:00:00のように表示されます。

pytzモジュールを使ったタイムゾーン対応の現在時刻の取得

pytzモジュールとは

pytzモジュールの概要

pytzモジュールは、Pythonでタイムゾーンを扱うためのライブラリです。

標準のdatetimeモジュールだけではタイムゾーンの操作が難しいため、pytzを使うことで簡単にタイムゾーンを設定したり、異なるタイムゾーン間での時刻の変換が可能になります。

pytzモジュールのインポート方法

pytzモジュールを使用するには、まずインストールが必要です。

以下のコマンドを使ってインストールします。

pip install pytz

インストールが完了したら、Pythonスクリプト内でインポートします。

import pytz
from datetime import datetime

タイムゾーン対応の現在時刻の取得方法

pytz.timezoneを使ったタイムゾーンの設定

pytzモジュールを使って特定のタイムゾーンを設定するには、pytz.timezone関数を使用します。

例えば、東京のタイムゾーンを設定する場合は以下のようにします。

tokyo_tz = pytz.timezone('Asia/Tokyo')

datetime.datetime.now(pytz.timezone(‘Asia/Tokyo’))の使い方

設定したタイムゾーンを使って現在時刻を取得するには、datetime.datetime.now()関数にタイムゾーンを渡します。

以下は東京の現在時刻を取得する例です。

import pytz
from datetime import datetime
# 東京のタイムゾーンを設定
tokyo_tz = pytz.timezone('Asia/Tokyo')
# 現在時刻を取得
tokyo_now = datetime.now(tokyo_tz)
print("東京の現在時刻:", tokyo_now)

このコードを実行すると、東京の現在時刻が表示されます。

タイムゾーンの変換

現在時刻を別のタイムゾーンに変換する方法

取得した現在時刻を別のタイムゾーンに変換するには、astimezoneメソッドを使用します。

例えば、東京の現在時刻をニューヨークのタイムゾーンに変換する場合は以下のようにします。

import pytz
from datetime import datetime
# 東京のタイムゾーンを設定
tokyo_tz = pytz.timezone('Asia/Tokyo')
# 現在時刻を取得
tokyo_now = datetime.now(tokyo_tz)
# ニューヨークのタイムゾーンを設定
ny_tz = pytz.timezone('America/New_York')
# 東京の現在時刻をニューヨークのタイムゾーンに変換
ny_now = tokyo_now.astimezone(ny_tz)
print("東京の現在時刻:", tokyo_now)
print("ニューヨークの現在時刻:", ny_now)

このコードを実行すると、東京の現在時刻とニューヨークの現在時刻が表示されます。

よく使われるタイムゾーンの例

以下は、よく使われるタイムゾーンの例です。

タイムゾーン名地域
Asia/Tokyo東京
America/New_Yorkニューヨーク
Europe/Londonロンドン
Europe/Parisパリ
Asia/Shanghai上海
Australia/Sydneyシドニー

これらのタイムゾーン名を使って、pytzモジュールで簡単に時刻を取得・変換することができます。

arrowモジュールを使った現在時刻の取得

arrowモジュールとは

arrowモジュールの概要

arrowモジュールは、Pythonの日時操作を簡単にするためのライブラリです。

arrowは、日時の取得、フォーマット、タイムゾーンの変換など、複雑な日時操作をシンプルに行うことができます。

arrowを使うことで、標準ライブラリのdatetimetimeよりも直感的に日時を扱うことができます。

arrowモジュールのインポート方法

arrowモジュールを使用するには、まずインストールが必要です。

以下のコマンドを使ってインストールします。

pip install arrow

インストールが完了したら、Pythonスクリプト内でarrowモジュールをインポートします。

import arrow

現在時刻の取得方法

arrowモジュールを使って現在時刻を取得するのは非常に簡単です。

arrow.now()メソッドを使うことで、現在の日時を取得できます。

arrow.now()の使い方

以下は、arrow.now()を使って現在時刻を取得する例です。

import arrow
# 現在時刻を取得
current_time = arrow.now()
# 取得した現在時刻を表示
print(current_time)

取得した現在時刻の表示方法

上記のコードを実行すると、以下のように現在時刻が表示されます。

2023-10-05T14:30:00.123456+09:00

このように、arrow.now()を使うと、タイムゾーン情報も含めた現在時刻が取得できます。

現在時刻のフォーマット

arrowモジュールでは、formatメソッドを使って日時を任意のフォーマットで表示することができます。

formatメソッドの使い方

以下は、formatメソッドを使って現在時刻をフォーマットする例です。

import arrow
# 現在時刻を取得
current_time = arrow.now()
# フォーマットを指定して表示
formatted_time = current_time.format('YYYY-MM-DD HH:mm:ss')
print(formatted_time)

上記のコードを実行すると、以下のようにフォーマットされた現在時刻が表示されます。

2023-10-05 14:30:00

よく使われるフォーマット例

以下は、arrowモジュールでよく使われるフォーマットの例です。

フォーマット説明
YYYY-MM-DD年-月-日2023-10-05
HH:mm:ss時:分:秒14:30:00
YYYY-MM-DD HH:mm:ss年-月-日 時:分:秒2023-10-05 14:30:00
DD/MM/YYYY日/月/年05/10/2023
MMMM D, YYYY月 日, 年October 5, 2023

このように、arrowモジュールを使うことで、日時の取得やフォーマットが非常に簡単に行えます。

arrowを活用して、効率的に日時操作を行いましょう。

目次から探す