Python の time モジュールの詳細については、こちらをご覧ください。

零到壹度
リリース: 2018-04-14 11:33:01
オリジナル
1960 人が閲覧しました

この記事の内容は、Python の時間モジュールについての深い理解を共有することです。必要な友人はそれを参照できます

Python では、時間処理に関連するモジュールが含まれます。 : 時間、日時、カレンダー。この記事では主にtimeモジュールについて説明します。

始める前に、まずこれらの点を説明する必要があります:

  1. Python では通常、時間を表す方法がいくつかあります: 1) タイムスタンプ 2) フォーマットされた時刻文字列 3) タプル (struct_time) には合計 9 つの要素があります。 Python の時間モジュールの実装は主に C ライブラリを呼び出すため、プラットフォームごとに異なる場合があります。

  2. UTC (協定世界時) は、グリニッジ天文時、世界標準時です。中国では UTC+8 です。 DST (サマータイム) は夏時間のことです。

  3. Timestamp (タイムスタンプ) メソッド: 一般的に、タイムスタンプは、1970 年 1 月 1 日 00:00:00 から始まるオフセットを秒単位で表します。 「type(time.time())」を実行すると、戻り値の型は float になります。タイムスタンプを返す関数には主に time() や Clock() などが含まれます。

  4. タプル (struct_time) メソッド: struct_time タプルには、合計 9 つの要素があります。struct_time を返す関数には、主に gmtime()、localtime()、および strptime() が含まれます。以下に、この方法でのタプルのいくつかの要素を示します:

56 1-366 デフォルト -1
インデックス 属性
0 tm_year (年) 例: 2011
1 tm_mon(月) 1〜12
2 tm_mday (日) 1 - 31
3 tm_hour (時間) 0 - 23
4 tm_min (分) 0 - 59
tm_sec (秒) 0 - 61
tm_wday (平日) 0 - 6 (0 は曜日を意味します) m7 TM_YDAY (年の最初の日)
8 TM_ISDST (夏時間かどうか)

次に、time モジュールで一般的に使用される関数をいくつか紹介します。

1) time.localtime([secs]): タイムスタンプを現在のタイムゾーンの struct_time に変換します。 secs パラメータが指定されていない場合は、現在の時刻が優先されます。

>>> time.localtime()
time.struct_time(tm_year=2011, tm_mon=5, tm_mday=5, tm_hour=14, tm_min=14, tm_sec=50, tm_wday=3, tm_yday=125, tm_isdst=0)
> tm_yday=125, tm_isdst=0)

2)time.gmtime([secs]): localtime() メソッドと同様に、gmtime() メソッドはタイムスタンプを変換しますstruct_time の UTC タイムゾーン (0 タイムゾーン) に変換します。

> > 125, tm_isdst=0)


注: ここで tm_wday=3 は曜日を表しますが、この戻り値に基づいて 1 日遅らせる必要があります。これは水曜日ではなく木曜日を意味します。

3)time.

time()

: 現在時刻のタイムスタンプを返します。 >>> time.time() 1304575584.1361799

4)time.mktime(t): struct_time をタイムスタンプに変換します。

>>> time.mktime(time.localtime())
1304576839.0

5)time.sleep(secs): スレッドは指定された時間実行を遅延します。単位は秒です。

6) time. Clock(): これはシステムによって意味が異なることに注意してください。 UNIX システムでは、秒単位で表される浮動小数点数 (タイムスタンプ) である「プロセス時間」を返します。 WINDOWS では、最初の呼び出しでプロセスが実行されている実際の時間を返します。 2 回目以降の呼び出しは、最初の呼び出しから現在までの実行時間です。 (実際には、ミリ秒表現よりも正確な WIN32 の QueryPerformanceCounter() に基づいています) 1.000 04944763 時計 3 :2.00012040636

最初の Clock() はプログラムの実行時間を出力します

2 番目と 3 番目の Clock() の出力は最初のクロックからの時間間隔です

7)time.asctime([t]): 時間を表すタプルまたは struct_time を次の形式で表します: 'Sun Jun 20 23:21:05 1993'。パラメータがない場合は、time.localtime() がパラメータとして渡されます。

> 秒単位で計算された浮動小数点数) は time.asctime() の形式に変換されます。パラメーターが指定されていないか、None の場合、デフォルトで time.time() がパラメーターとして使用されます。その関数は time.asctime(time.localtime(secs)) と同等です。

>>> time.ctime()

'2011 年 5 月 5 日木 14:58:09'>>> time.ctime(time.time())' 5 月 5 日木 14:58 :39 2011' > : 時刻または struct_time (time.localtime() や time.gmtime() によって返されるものなど) を表すタプルをフォーマットされた時刻文字列に変換します。 t が指定されていない場合は、time.localtime() が渡されます。タプル内のいずれかの要素が範囲外になると、ValueError がスローされます。

%d月の日 (01 - 31)%Hある日、時 (24 時間制、00 ~ 23) %I 時 (12 時間制、01 ~ 12) %j 通算日(001 - 366)%m月 (01 - 12)%Y%Z%%

備考:

  1. "%p" は、"%I" と組み合わせて使用​​した場合にのみ有効です。

  2. 文書では、実際には59ではなく0~61であり、閏年秒が2秒を占めることが強調されています(汗)。

  3. strptime() 関数を使用する場合、%U と %W は、年の週数と日数が決定された場合にのみ計算されます。

例:

>>> time.strftime("%Y-%m-%d %X", time.localtime())
'2011-05-05 16:37: 06 '

10)time.strptime(string[, format]): フォーマットされた時刻文字列を struct_time に変換します。実際、これは strftime() の逆演算です。

>>> time.strptime('2011-05-05 16:37:06', '%Y-%m-%d %X')
time.struct_time(tm_year=2011, tm_mon=5) , tm_mday=5, tm_hour=16, tm_min=37, tm_sec=6, tm_wday=3, tm_yday=125, tm_isdst=-1)

この関数のデフォルトの形式は:"%a %b % d % H:%M:%S %Y"

最後に、時間モジュールの概要をまとめてみましょう。前の説明によると、Python には 3 つの表現方法があります: 1) タイムスタンプ、2) タプルまたは struct_time、3) フォーマットされた文字列。

それらの間の変換は図に示すとおりです:


関連する推奨事項:

Python時間の詳細な説明

Python時間ライブラリ

Python時間モジュール

Pythonタイムモジュールタイムモジュール分析

形式 意味 備考
%a ローカル(ロケール)の簡略化された週名
%A ローカルの完全な週名
%b ローカルの簡略化された月の名前
%B ローカルの完全な月の名前
%c 対応するローカル日付と時刻の表現




%M 分 (00 - 59)
%p 現地の午前または午後に対応する文字 one
%S 秒 (01 - 61) two
%U 年。 (日曜日 00 ~ 53 が週の始まりです。) 最初の日曜日より前のすべての日が第 0 週に配置されます。
%w 曜日 (0 - 6、0は日曜日)
%W は、%Wがで始まることを除いて、基本的に%Uと同じです。月曜日は週の始まりです。
%x 現地の対応日
%
通年
タイムゾーンの名前 (存在しない場合は null 文字)
'%' 文字

以上がPython の time モジュールの詳細については、こちらをご覧ください。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート