Python|現在の時刻だけを取得する:datetime.datetime.now().time()

1. はじめに

Pythonで現在の時刻だけを取得したいときに便利なのが、datetime.datetime.now().time()です。

たとえば「今の時間が何時何分なのかを知りたい」「処理が行われた時刻をログに残したい」といった場面で活躍します。

本記事では、Pythonで現在の時刻だけを取得する方法について、datetimeモジュールの使い方を初心者にもわかりやすく解説します。具体的なコード例、応用方法、注意点などもあわせて紹介しますので、ぜひ最後までご覧ください。

 

2. datetime.datetime.now().time() の基本解説

datetimeモジュールとは?

Pythonのdatetimeモジュールは、日付や時刻を扱うための標準ライブラリです。時刻を取得・操作するのに非常に便利です。

現在の時刻を取得する基本コード

現在の時刻だけを取得したい場合、以下のようにdatetime.datetime.now().time()を使います。

import datetime

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

print("現在の時刻:", now_time)

実行結果:

現在の時刻: 14:23:45.678901

.time()を使うことで、「時・分・秒・マイクロ秒」だけを取り出せます。日付情報は含まれません。

時・分・秒の個別取得

取得した時刻オブジェクトから、時・分・秒を個別に取り出すこともできます。

import datetime

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

# 時・分・秒を個別に表示
print("時:", now.hour)
print("分:", now.minute)
print("秒:", now.second)

実行結果:

時: 14
分: 23
秒: 45

 

3. よくある使い方・応用例

1. ログ出力に現在の時刻を使う

処理のタイミングを記録するために、時刻情報はよく使われます。

import datetime

def log_message(message):
    now = datetime.datetime.now().time()
    print(f"[{now}] {message}")

log_message("処理を開始しました")

実行結果:

[14:23:45.678901] 処理を開始しました

2. 特定時間になったら処理を行う

一定の時刻になったら処理を開始するようなスクリプトも作成できます。

import datetime
import time

# 実行目標時刻(例:14時30分)
target_time = datetime.time(14, 30)

print("時刻待機中...")

while True:
    now = datetime.datetime.now().time()
    if now.hour == target_time.hour and now.minute == target_time.minute:
        print("目標時刻に達しました!")
        break
    time.sleep(10)  # 10秒ごとに確認

実行結果:

時刻待機中...
目標時刻に達しました!

 

4. 注意点・エラー対策

1. 日付と時刻の混同に注意

datetime.datetime.now()は「日付+時刻」、datetime.date.today()は「日付のみ」、datetime.datetime.now().time()は「時刻のみ」です。用途に応じて使い分けましょう。

2. マイクロ秒が含まれることに注意

datetime.time()オブジェクトはマイクロ秒も含むため、時刻表示が細かくなります。不要な場合はフォーマットして見やすくするのがおすすめです。

import datetime

now_time = datetime.datetime.now().time()
# フォーマットして表示(時:分:秒)
print(now_time.strftime("%H:%M:%S"))

実行結果:

14:23:45

3. timeモジュールと混同しない

timeという名前の標準ライブラリもありますが、datetime.time()とは異なる目的で使われます(スリープ処理やUNIX時間取得など)。名前が似ているので注意しましょう。

 

5. まとめ

  • datetime.datetime.now().time()を使うと「現在の時刻だけ」を取得できる
  • 取得したオブジェクトからhour, minute, secondなどを個別に取り出せる
  • ログ出力やスケジューラーなど、実務でもよく使われる
  • マイクロ秒や他のtime系モジュールとの違いに注意

今回学んだ方法は、処理の実行時刻を記録したいときや、特定の時間に何かをしたいといった場面で役立ちます。

学習のコツとしては、「日付と時刻の取得方法を整理して覚える」こと。実際にコードを書きながら慣れていくのが一番です。

Pythonの時刻操作をマスターして、効率的なプログラム作成に活かしていきましょう!

タイトルとURLをコピーしました