Pythonで日付時刻計測入門

Pythonで日付時刻計測入門

Python初心者のためのdatetime入門

Pythonで日付と時刻を扱うときは、標準ライブラリのdatetimeモジュールが最も基本的なツールです。datetimedatetimedatetimeという3つのクラスを提供し、日付だけ、時刻だけ、または両方を扱うことができます。

まずは簡単なインポート例です。

from datetime import datetime, date, time

これで、datetime.now()で現在時刻を取得したり、date.today()で今日の日付を取得したりできます。

現在時刻の取得とフォーマット

Python初心者が最初に直面するのは「現在時刻を表示したい」という要件です。datetime.now()で取得したオブジェクトは、デフォルトではISO 8601形式(例:2026-01-09 12:34:56.789012)で表示されますが、strftimeメソッドを使えば好きなフォーマットに変換できます。

now = datetime.now()
print(now)  # 2026-01-09 12:34:56.789012

# フォーマット例
formatted = now.strftime("%Y/%m/%d %H:%M:%S")
print(formatted)  # 2026/01/09 12:34:56

フォーマット文字列の中で使える主な書式は以下の通りです。

  • %Y: 4桁年
  • %m: 2桁月
  • %d: 2桁日
  • %H: 24時間表記の時
  • %M: 分
  • %S: 秒

これらを組み合わせることで、レポートやログファイルに適した日時文字列を簡単に生成できます。

時間計測の方法

プログラムの実行時間を測定したい場合、timeモジュールのtime()関数や、datetimenow()を使う方法があります。time.time()はUNIXエポックからの秒数を返すので、差分を取るだけで経過時間を秒単位で取得できます。

import time

start = time.time()
# 何らかの処理
time.sleep(2)  # 例として2秒待機
end = time.time()

elapsed = end - start
print(f"処理時間: {elapsed:.3f} 秒")

より高精度が必要な場合は、time.perf_counter()を使うとミリ秒以下の精度で計測できます。

日付計算の実践例

日付計算は、将来の日付を求めたり、期間を計算したりする際に頻繁に使われます。datetime.timedeltaクラスを使うと、日数や秒数を加減算できます。

from datetime import datetime, timedelta

today = date.today()
print(f"今日: {today}")

# 10日後
future = today + timedelta(days=10)
print(f"10日後: {future}")

# 1週間前
past = today - timedelta(weeks=1)
print(f"1週間前: {past}")

さらに、月末や特定の曜日を求める場合は、calendarモジュールと組み合わせると便利です。例えば、次の金曜日を求めるコードは以下のようになります。

import calendar

def next_friday(start_date):
    weekday = start_date.weekday()  # Monday=0, Sunday=6
    days_ahead = (4 - weekday) % 7
    if days_ahead == 0:
        days_ahead = 7
    return start_date + timedelta(days=days_ahead)

print(next_friday(today))

このように、Python初心者でも日付と時刻を自在に扱えるようになると、レポート生成やスケジューリング、ログ解析など幅広い場面で活躍できます。

この記事はAIによって作成されました。

コメント

このブログの人気の投稿

Blogger Sitemap登録エラー解決

【iOS】SwiftでCGAffineTransformから角度・ラジアン・度数・スケールを計算する方法

Ollama & Open WebUI: ローカルLLM構築