【Python】現在時刻を文字列で取得する

この記事では、Pythonを使って現在時刻を取得し、文字列に変換する方法について解説します。

さらに、特定のフォーマットで現在時刻を表示する方法や、現在時刻を利用した応用例についても紹介します。

初心者の方でもわかりやすく、実際のコードと実行結果の例を交えながら解説していきます。

目次から探す

Pythonで現在時刻を取得する方法

Pythonでは、さまざまな方法で現在の時刻を取得することができます。

ここでは、主な3つの方法を紹介します。

datetimeモジュールを使った方法

datetimeモジュールは、日付や時刻を操作するための便利な機能を提供しています。

現在の時刻を取得するには、datetimeモジュールdatetimeクラスを使用します。

import datetime

now = datetime.datetime.now()
print(now)

上記のコードでは、datetimeモジュールをインポートし、datetime.datetime.now()を呼び出して現在の時刻を取得しています。

取得した時刻は、datetimeオブジェクトとして返されます。

timeモジュールを使った方法

timeモジュールは、時間に関連する機能を提供しています。

現在の時刻を取得するには、timeモジュールtime関数を使用します。

import time

now = time.time()
print(now)

上記のコードでは、timeモジュールをインポートし、time.time()を呼び出して現在の時刻を取得しています。

取得した時刻は、エポックからの経過秒数として返されます。

calendarモジュールを使った方法

calendarモジュールは、カレンダーに関連する機能を提供しています。

現在の時刻を取得するには、calendarモジュールtimegm関数を使用します。

import calendar

now = calendar.timegm(time.gmtime())
print(now)

上記のコードでは、calendarモジュールをインポートし、time.gmtime()で現在の時刻をUTC時間で取得し、calendar.timegm()でエポックからの経過秒数に変換しています。

これらの方法を使うことで、Pythonで現在の時刻を取得することができます。

現在時刻を文字列に変換する方法

Pythonでは、現在の時刻を文字列として取得するためにいくつかの方法があります。

ここでは、主な3つの方法を紹介します。

strftime関数を使った方法

strftime関数は、日付や時刻を指定したフォーマットに従って文字列に変換するために使用されます。

以下のようなコードを使って、現在時刻を指定したフォーマットの文字列に変換することができます。

import datetime

now = datetime.datetime.now()
formatted_time = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_time)

上記のコードでは、strftime関数の引数にフォーマット指定子を使用しています。

例えば、%Yは年を4桁で表示し、%mは月を2桁で表示することを意味します。

詳細なフォーマット指定子の一覧はPythonの公式ドキュメントを参照してください。

datetimeオブジェクトのメソッドを使った方法

Pythonのdatetimeオブジェクトには、日付や時刻を文字列に変換するための便利なメソッドが用意されています。

以下のようなコードを使って、現在時刻を文字列に変換することができます。

import datetime

now = datetime.datetime.now()
formatted_time = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_time)

上記のコードでは、nowオブジェクトのstrftimeメソッドを使用して、指定したフォーマットの文字列に変換しています。

f-stringを使った方法

Python 3.6以降では、f-stringと呼ばれる新しい文字列フォーマット方法が導入されました。

f-stringを使うと、変数を直接文字列に埋め込むことができます。

以下のようなコードを使って、現在時刻を文字列に変換することができます。

import datetime

now = datetime.datetime.now()
formatted_time = f"{now:%Y-%m-%d %H:%M:%S}"
print(formatted_time)

上記のコードでは、f-stringの中で{}を使って変数を指定し、その後に:を使ってフォーマット指定子を指定しています。

詳細なフォーマット指定子の一覧はPythonの公式ドキュメントを参照してください。

これらの方法を使うことで、Pythonで現在時刻を文字列に変換することができます。

適切なフォーマットを選んで使いやすい形式の文字列を取得しましょう。

strftime関数やf-stringを使ったフォーマット指定子の詳細については、Pythonの公式ドキュメントを参照してください。

現在時刻を特定のフォーマットで表示する方法

Pythonを使って現在時刻を特定のフォーマットで表示する方法について説明します。

日付と時刻を表示するフォーマット

現在時刻を日付と時刻の両方を含むフォーマットで表示するには、strftime関数を使用します。

strftime関数は、指定したフォーマットに従って日付と時刻を文字列に変換することができます。

以下は、日付と時刻を表示するフォーマットの例です。

import datetime

now = datetime.datetime.now()
formatted_time = now.strftime("%Y-%m-%d %H:%M:%S")

print(formatted_time)

上記のコードでは、datetimeモジュールをインポートし、現在時刻を取得しています。

そして、strftime関数を使ってフォーマットを指定し、formatted_timeという変数に格納しています。

最後に、formatted_timeを出力することで、指定したフォーマットで現在時刻を表示しています。

時刻のみを表示するフォーマット

現在時刻のうち、時刻の部分のみを表示するフォーマットには、同様にstrftime関数を使用します。

以下は、時刻のみを表示するフォーマットの例です。

import datetime

now = datetime.datetime.now()
formatted_time = now.strftime("%H:%M:%S")

print(formatted_time)

上記のコードでは、日付の部分を省略し、時刻のみを表示するために、フォーマット文字列に%H:%M:%Sを指定しています。

これにより、現在時刻の時刻部分のみが表示されます。

日付のみを表示するフォーマット

現在時刻のうち、日付の部分のみを表示するフォーマットにも、同様にstrftime関数を使用します。

以下は、日付のみを表示するフォーマットの例です。

import datetime

now = datetime.datetime.now()
formatted_time = now.strftime("%Y-%m-%d")

print(formatted_time)

上記のコードでは、時刻の部分を省略し、日付のみを表示するために、フォーマット文字列に%Y-%m-%dを指定しています。

これにより、現在時刻の日付部分のみが表示されます。

以上が、Pythonを使って現在時刻を特定のフォーマットで表示する方法です。

適切なフォーマットを指定することで、必要な情報のみを表示することができます。

/ads

現在時刻を利用した応用例

Pythonで現在時刻を取得する方法を学んだら、それを利用してさまざまな応用が可能です。

以下では、現在時刻を利用した具体的な応用例を紹介します。

ログファイルのタイムスタンプとして利用する

ログファイルは、プログラムの実行状況やエラーメッセージなどを記録するための重要なファイルです。

ログファイルには、各ログの発生時刻をタイムスタンプとして記録することが一般的です。

Pythonの現在時刻を取得する方法を使えば、ログファイルに正確なタイムスタンプを付けることができます。

例えば、以下のようなコードを使って、ログファイルに現在時刻をタイムスタンプとして追加することができます。

import datetime

# 現在時刻を取得
now = datetime.datetime.now()

# ログファイルにタイムスタンプとメッセージを書き込む
with open('logfile.txt', 'a') as file:
    file.write(f'{now} - ログメッセージ\n')

このようにすることで、ログファイルには各ログメッセージの発生時刻が正確に記録されます。

ファイル名に現在時刻を含める

ファイル名に現在時刻を含めることで、ファイルの作成日時や更新日時を一目で確認することができます。

Pythonの現在時刻を取得する方法を使えば、簡単にファイル名に現在時刻を含めることができます。

例えば、以下のようなコードを使って、現在時刻を含んだファイル名を生成することができます。

import datetime

# 現在時刻を取得
now = datetime.datetime.now()

# ファイル名に現在時刻を含める
filename = f'file_{now.strftime("%Y%m%d_%H%M%S")}.txt'

# ファイルを作成する
with open(filename, 'w') as file:
    file.write('ファイルの内容')

このようにすることで、ファイル名には現在時刻が含まれ、作成日時や更新日時がわかりやすくなります。

タイマーとして利用する

Pythonの現在時刻を取得する方法を使えば、タイマーとしても利用することができます。

例えば、以下のようなコードを使って、指定した時間間隔で処理を実行するタイマーを作成することができます。

import time

# タイマーの間隔(秒)
interval = 5

while True:
    # 現在時刻を取得
    now = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

    # 処理を実行
    print(f'{now} - タイマー処理')

    # 指定した間隔でループを繰り返す
    time.sleep(interval)

このようにすることで、指定した時間間隔で処理が実行されます。

タイマーを利用することで、定期的な処理やバッチ処理を自動化することができます。

以上が、Pythonの現在時刻を利用した応用例の一部です。

現在時刻を取得する方法を使って、さまざまな場面で活用してみてください。

目次から探す