工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Python

Python datetimeモジュール完全ガイド:日付、時刻、timedelta、strftime徹底解説

Pythonのdatetimeライブラリは、日付、時刻、時間間隔を操作するための堅牢なツールセットを提供します。生の文字列やタイムスタンプではなくオブジェクトとして扱うことで、開発者は正確な計算とフォーマットを自信を持って行えます。

主要なdatetimeクラス

導入:インポートとインスタンス化

操作の前に必要なクラスをインポート:

from datetime import date, time, datetime, timedelta

dateオブジェクトのインスタンス化:

today = date.today()
print(today)  # 例: 2024-04-19

現在の日付と時刻

datetime.now()メソッドで現在のローカル日時を取得:

now = datetime.now()
print(now)  # 2024-04-19 14:35:12.123456

時刻成分だけを抽出:

current_time = now.time()
print(current_time)  # 14:35:12.123456

strftimeによる出力フォーマット

strftimeメソッドはdatetimeオブジェクトをフォーマットコードを用いて人間可読な文字列に変換:

now.strftime("%Y-%m-%d %H:%M:%S")  # "2024-04-19 14:35:12"

よく使うディレクティブ:

例:

# 12時間制(AM/PM付き)
print(now.strftime("%I:%M:%S %p"))
# 24時間制
print(now.strftime("%H:%M"))

timedeltaの活用

timedeltaは時間の幅を表現し、日付・日時との算術演算をサポート:

# 365日のtimedeltaを作成
one_year = timedelta(days=365)
# 今から1年後
future_date = datetime.now() + one_year
print(future_date)

イベントまでの日数計算(例:正月):

today = date.today()
new_year = date(today.year, 1, 1)
if new_year < today:
    new_year = date(today.year + 1, 1, 1)
print("New Year is in", (new_year - today).days, "days")
else:
    print("New Year is in", (new_year - today).days, "days")

総合例

以下はコア機能をデモする即実行可能なスクリプト:

from datetime import datetime, date, timedelta
# 現在の日時
now = datetime.now()
print("Now:", now)
# フォーマット例
print("ISO format:", now.strftime("%Y-%m-%d %H:%M:%S"))
print("12-hour time:", now.strftime("%I:%M:%S %p"))
# timedelta操作
one_week = timedelta(weeks=1)
print("One week from now:", now + one_week)
# 正月までの日数
today = date.today()
new_year = date(today.year + (today < date(today.year, 1, 1)), 1, 1)
print("Days until New Year:", (new_year - today).days)

まとめ

Pythonのdatetimeモジュールは、日付と時刻操作のための強力で型安全なツールを提供します:

これらのツールは、シンプルなタイムスタンプから複雑なスケジューリングロジックまで、幅広いタスクで不可欠です。

Python

  1. Python datetimeマスター:日付・時刻・タイムゾーン実践ガイド
  2. Pythonで現在の日付と時刻を取得する実践ガイド
  3. Pythonで現在時刻とタイムゾーンデータを簡単に取得する
  4. Pythonのtimeモジュールをマスター:関数、構造体、実践例
  5. Pythonのtime.sleep()をマスター:ベストプラクティス、マルチスレッド、実例
  6. Python print()関数の実践ガイド:基本から応用まで
  7. Python str.count()マスター:文字と部分文字列のカウント実例集
  8. Python format()文字列を明確な例でマスター
  9. Python String.find()メソッド完全ガイド:構文、例、代替手法
  10. Pythonラムダ関数をマスターする:実例とベストプラクティス
  11. Python round()関数を実例で徹底解説