PythonのTimeTuple(時間タプル)とは?9つの要素とstruct_time属性を徹底解説
Pythonの多くの時刻関連関数は、時刻を9つの数値からなるタプルとして扱います。これがいわゆる「TimeTuple(時間タプル)」です。各要素には決まった順序と意味があり、年月日や時分秒に加えて、曜日や夏時間の情報まで含まれています。
TimeTupleの9つの要素
TimeTupleの各インデックスに対応するフィールドと、取り得る値は以下の通りです。
| インデックス | フィールド | 値の範囲 |
|---|---|---|
| 0 | 4桁の西暦(年) | 例:2008 |
| 1 | 月 | 1〜12 |
| 2 | 日 | 1〜31 |
| 3 | 時 | 0〜23 |
| 4 | 分 | 0〜59 |
| 5 | 秒 | 0〜61(60と61はうるう秒) |
| 6 | 曜日 | 0〜6(0は月曜日) |
| 7 | 年内の通算日(ユリウス日) | 1〜366 |
| 8 | 夏時間(DST)フラグ | -1、0、1(-1はライブラリが自動判定) |
struct_time構造体との関係
このタプルは、Pythonのstruct_time構造体と同等です。struct_timeは名前付きの属性を持っており、インデックス番号だけでなく、属性名を使っても同じ値にアクセスできます。対応する属性は以下の通りです。
| インデックス | 属性名 | 値の範囲 |
|---|---|---|
| 0 | tm_year | 例:2008 |
| 1 | tm_mon | 1〜12 |
| 2 | tm_mday | 1〜31 |
| 3 | tm_hour | 0〜23 |
| 4 | tm_min | 0〜59 |
| 5 | tm_sec | 0〜61(60と61はうるう秒) |
| 6 | tm_wday | 0〜6(0は月曜日) |
| 7 | tm_yday | 1〜366(ユリウス日) |
| 8 | tm_isdst | -1、0、1(-1はライブラリが自動判定) |
具体的な使用例
たとえばtime.localtime()を呼び出すと、現在時刻を表すstruct_timeオブジェクトが返されます。
import time
now = time.localtime()
print(now.tm_year) # 例:2024
print(now.tm_mon) # 月(1〜12)
print(now[0]) # インデックスでもアクセス可能このように、TimeTuple(struct_time)はPythonで時刻を扱う際の基本的なデータ形式であり、time.mktime()やtime.strftime()など、さまざまな時刻関数の入力・出力として利用されます。
-
PythonのCGIとは?仕組みとサーバー設定方法をわかりやすく解説
CGI(Common Gateway Interface:共通ゲートウェイインターフェース)は、HTTPサーバーなどの情報サーバーと外部のゲートウェイプログラムがやり取りするための標準規格です。現在のバージョンはCGI/1.1であり、CGI/1.2が策定中です。Webブラウジングの流れCGIの概念を理解するために、ハイパーリンクをクリックして特定のWebページやURLを閲覧するときに何が起こるのかを見てみましょう。ブラウザがHTTP Webサーバーに接続し、URL(つまりファイル名)を要求します。WebサーバーはURLを解析してファイル名を探します。該当するファイルが見つかればそれをブラウザへ
-
Pythonの「%」演算子とは?文字列フォーマットの基本と使い方を解説
Pythonの「%」演算子の役割 Pythonにおける「%(パーセント)」は、文字列フォーマット演算子(補間演算子)として機能します。「format % values」という形式で記述すると、フォーマット文字列内の変換指定子が、values側の要素によって置き換えられます。この仕組みは、C言語のsprintf()関数とよく似ています。 基本的な使い方:文字列の埋め込み 最もシンプルな例は、文字列の中に変数の値を埋め込むケースです。 >>> lang = Python >>> print %s is awesome! % lang Python is awe