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

Pythonのtimeモジュール完全ガイド:主要関数と属性の一覧

Pythonの標準ライブラリには、時間の取得や変換を扱うためのtimeモジュールが用意されています。このモジュールを利用することで、現在時刻の取得、時刻データのフォーマット変換、プログラムの一時停止など、時間に関するさまざまな処理を実装できます。

ここでは、timeモジュールで利用できるすべての関数と属性を一覧形式で解説します。

timeモジュールの主な関数一覧

No.関数と説明
1time.altzone
ローカルの夏時間(DST)タイムゾーンのUTCからのオフセットを秒単位で返します。ローカルのDSTタイムゾーンがUTCより東にある場合(西ヨーロッパや英国など)は負の値になります。daylightが0以外の場合にのみ使用してください。
2time.asctime([tupletime])
時刻タプルを受け取り、「Tue Dec 11 18:07:14 2008」のような24文字の可読性の高い文字列を返します。
3time.clock()
現在のCPU時間を浮動小数点数(秒単位)で返します。異なる処理方式の計算コストを比較する場合、time.time()よりも有用でした。なお、この関数はPython 3.3で非推奨となり、Python 3.8で削除されています。代わりにtime.perf_counter()を使用してください。
4time.ctime([secs])
asctime(localtime(secs))と同等です。引数を省略した場合はasctime()と同じ結果になります。
5time.gmtime([secs])
エポック(1970年1月1日0時0分0秒UTC)からの経過秒を受け取り、UTC時刻の時刻タプルtを返します。t.tm_isdstは常に0です。
6time.localtime([secs])
エポックからの経過秒を受け取り、ローカル時刻の時刻タプルtを返します。t.tm_isdstは、その時刻にローカルの規則で夏時間が適用されるかどうかによって0または1になります。
7time.mktime(tupletime)
ローカル時刻で表された時刻タプルを受け取り、エポックからの経過秒を浮動小数点数で返します。localtime()の逆の変換を行います。
8time.sleep(secs)
呼び出し元のスレッドをsecs秒間停止(スリープ)させます。
9time.strftime(fmt[, tupletime])
ローカル時刻の時刻タプルを受け取り、書式指定文字列fmtに従って整形した文字列を返します。
10time.strptime(str, fmt='%a %b %d %H:%M:%S %Y')
文字列strを書式fmtに従って解析し、時刻タプル形式で返します。strftime()の逆の処理です。
11time.time()
現在時刻をエポックからの経過秒(浮動小数点数)として返します。
12time.tzset()
ライブラリルーチンが使用する時間変換ルールをリセットします。具体的な動作は環境変数TZによって指定されます。

timeモジュールの重要な属性

timeモジュールには、次の2つの重要な属性が用意されています。

No.属性と説明
1time.timezone
ローカルタイムゾーン(夏時間を除く)のUTCからのオフセットを秒単位で表します。南北アメリカ大陸では正の値(>0)、ヨーロッパ・アジア・アフリカの大部分では0以下になります。
2time.tzname
ロケール依存の文字列のペアで、それぞれ夏時間を適用しない場合と適用する場合のローカルタイムゾーン名を表します。

簡単な使用例

よく使われる関数の基本的な使い方は以下の通りです。

import time

# 現在時刻をエポックからの経過秒で取得
print(time.time())

# 可読性の高い文字列として表示
print(time.asctime())

# 書式を指定して文字列化
print(time.strftime('%Y-%m-%d %H:%M:%S'))

# 3秒間処理を一時停止
time.sleep(3)

これらの関数と属性を組み合わせることで、ログへのタイムスタンプ生成、処理時間の計測、定期実行の制御など、時間に関わる幅広い処理に柔軟に対応できます。

  1. Pythonでのベクトル化とは?NumPyによる高速な配列演算の基礎を解説

    本記事では、Python 3.xにおける「ベクトル化(Vectorization)」の概念と、その実装に用いられるさまざまなテクニックについて解説します。ループ処理を排除した効率的なコードの書き方を、具体例とともに見ていきましょう。 ベクトル化とは何か? ベクトル化とは、ループを使用せずに配列操作を実装するテクニックです。関数を活用することで、コードの実行時間や計算時間を大幅に短縮できます。 ベクトル化では、配列に対して個別に処理を行うのではなく、ベクトル全体に対して一括で演算を実行します。代表的な演算には以下のようなものがあります。 ドット積(内積・スカラー積):2つのベクトルから単一のス

  2. Pythonのgetpassモジュールとは?パスワード入力とユーザー名取得の基本を解説

    Pythonの標準ライブラリには、ターミナル上で動作するアプリケーションにおいて、ユーザーの認証情報を検証してから処理を実行したい場合に役立つgetpassモジュールが用意されています。このモジュールには主に2つの関数が定義されており、セキュリティを意識したコマンドラインツールの開発に欠かせない存在です。 getpass() 関数:パスワードを安全に入力する getpass()関数は、ユーザーにパスワードの入力を促すための関数です。デフォルトでは、ターミナルに入力されたキーは画面に表示(エコー)されないため、第三者にパスワードを盗み見られる心配がありません。 また、プロンプトとして表示される