Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのtimetuple()メソッドとは?struct_timeオブジェクトの基本と使い方

Pythonでは、datetime.dateインスタンスが持つtimetuple()メソッドを呼び出すと、time.struct_time型のオブジェクトが返されます。struct_timeは名前付きタプル(named tuple)の一種で、インデックス番号だけでなく、属性名を使って各フィールドにアクセスできるのが特徴です。

struct_timeオブジェクトの構成要素

struct_timeオブジェクトには、日付と時刻の両方を表す属性が含まれており、さらに夏時間(DST:Daylight Saving Time)が有効かどうかを示すフラグも持っています。

timetuple()関数が返す名前付きタプルでは、元となるdateオブジェクトに基づいて「年(tm_year)」「月(tm_mon)」「日(tm_mday)」の各フィールドが設定されます。一方、時刻に関する「時(tm_hour)」「分(tm_min)」「秒(tm_sec)」のフィールドは、date型には時刻情報が含まれないため、すべて0にセットされます。

具体的な使用例

以下のコードは、今日の日付からtimetuple()を使ってstruct_timeオブジェクトを取得し、その内容とtm_year属性を出力する例です。

import datetime
todaysDate = datetime.date.today()
timeTuple = todaysDate.timetuple()
print(timeTuple)
print(timeTuple.tm_year)

実行結果

このコードを実行すると、次のような出力が得られます。

time.struct_time(tm_year=2017, tm_mon=12, tm_mday=28, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=362, tm_isdst=-1)
2017

出力を見ると、tm_wday(曜日:0が月曜日)やtm_yday(その年の通算日数)、tm_isdst(夏時間フラグ:-1は不明)といった追加情報も自動的に計算されて格納されていることがわかります。日付データを他の時刻処理関数に渡したい場合などに、このメソッドが役立ちます。

  1. PythonのCGIとは?仕組みとサーバー設定方法をわかりやすく解説

    CGI(Common Gateway Interface:共通ゲートウェイインターフェース)は、HTTPサーバーなどの情報サーバーと外部のゲートウェイプログラムがやり取りするための標準規格です。現在のバージョンはCGI/1.1であり、CGI/1.2が策定中です。Webブラウジングの流れCGIの概念を理解するために、ハイパーリンクをクリックして特定のWebページやURLを閲覧するときに何が起こるのかを見てみましょう。ブラウザがHTTP Webサーバーに接続し、URL(つまりファイル名)を要求します。WebサーバーはURLを解析してファイル名を探します。該当するファイルが見つかればそれをブラウザへ

  2. Pythonのファイルオブジェクトの主な属性とメソッドを徹底解説

    Pythonでは、open()関数を使ってファイルを開くと「ファイルオブジェクト」が返されます。このオブジェクトは、ファイルの読み書きや状態管理を行うための多数の属性とメソッドを持っています。本記事では、特によく使われるメソッドと属性について、具体例を交えながらわかりやすく解説します。 よく使われるファイルオブジェクトのメソッド close() ― 開いたファイルを閉じます。ファイル操作が終わったら必ず呼び出し、リソースを解放しましょう。 next() ― ファイルをイテレータとして扱う際に呼び出されるメソッドです。for line in f: のようにforループでファイルを回すとき、この