Python の日付と時刻

高洛峰
高洛峰オリジナル
2016-11-23 10:39:021189ブラウズ

Python プログラムはさまざまな方法で日付と時刻を処理できます。日付形式の変換は、一般的な日常的な作業です。 Python には、役立つ時刻とカレンダーのモジュールがあります。

ダニとは何ですか?

時間間隔は秒単位の浮動小数点数です。

各タイムスタンプは、1970 年 1 月 1 日の午前 0 時 (エポック) からの経過時間を表します。

Python に付属する一般的な time モジュールには、一般的な日付形式を変換するための関数が多数あります。たとえば、関数 time.time() は、次の例に示すように、ティックを使用して、1970 年 1 月 1 日午前 12 時 (エポック) から記録された現在のオペレーティング システム時刻を返します。 !/usr/bin /python

import time;

上記の出力結果の例:

1970 年 1 月 1 日午前 12 時からのティック数: 7186862.73399

ティック単位は日付計算に最適です。ただし、1970 年より前の日付はこの方法では表現できません。遠すぎる日付は機能しません。UNIX と Windows は 2038 年の日付のみをサポートします。

時間タプルとは何ですか?

多くの Python 関数は、1 つの要素を使用して 9 つの数値グループを組み立てます。 処理時間:

シリアル番号

フィールド

0 4桁の年 2008

1 月 1 から 12

2 DAY 1~31

3時間 0~23

4分

5秒 0~61(60または61はうるう秒)

6 曜日 0~6(0は月曜日)

7の1年 1 日から 366 日 (ユリウス暦)

8 夏時間 -1、0、1、-1 は夏時間かどうかを決定するフラグです

上記、つまり struct_time タプルです。この構造には次の属性があります:

シリアル番号

属性

0 tm_year 2008

1 tm_mon 1〜12

2 tm _mday 1〜31

3時 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は夏時間かどうかを決定するフラグです

現在時刻を取得します

浮動小数点数を返す時刻削除メソッドから時刻タプルに変換します。ポイント番号は localtime などの関数に渡されます。 S#!/USR/Bin/Python

import Time;

上記の例の出力結果:

Local current time : time.struct_time(tm_year=2013, tm_mon=7,

) tm_mday = 17、tm_hour = 21、tm_min = 26、tm_sec = 3、tm_wday = 2、tm_yday = 198、tm_isdst = 0)ただし、読み取り可能な時間パターンを取得する最も単純な関数は asctime( : ", localtime

上記の出力結果の例:

Local current time : Tue Jan 13 10:17:09 2009

特定の月のカレンダーを取得します

カレンダー このモジュールには、特定の月の月間カレンダーを印刷するなど、年間および月間カレンダーを処理する幅広いメソッドがあります:

#!/usr/bin/python

カレンダーをインポート

cal = Calendar.month(2008, 1)

print "これがカレンダーです:"

print cal;

上記の出力結果の例:

カレンダーは次のとおりです:

January 2008

Mo Tu We Th Fr Sa Su

1 2 3 4 5 6

7 8 9 10 11 12 13

14 15 16 17 18 19 20

21 22 23 24 25 26 27

28 29 30 31

Timeモジュール

Timeモジュールには以下のビルドが含まれています-in 時刻処理と時刻形式変換の両方の関数:

シリアル番号

関数と説明

1 time.altzone
グリニッジ以西の夏時間地域のオフセット秒を返します。エリアがグリニッジより東(英国を含む西ヨーロッパなど)の場合、負の値が返されます。夏時間が有効になっている地域でのみ利用できます。

2 time.asctime([tupletime])
時刻タプルを受け入れ、「火曜日、12 月 11 日 18:07:14 2008」(2008 年 12 月 11 日火曜日 18:07:14) という 24 文字の可読形式を返します。弦。

3 time. Clock( )
浮動小数点数として計算された現在の CPU 時間を秒単位で返します。これはさまざまなプログラムの消費時間を測定するために使用され、time.time() よりも便利です。

4 経過浮動小数点秒) を表し、グリニッジ天文時間で時間タプル t を返します。注: t.tm_isdst は常に 0 です


6 time.localtime([secs])

タイムアウト (1970 エポック後に経過した浮動小数点の秒数) を受け取り、現地時間の時間タプル t を返します (t.tm_isdst)夏時間かどうかに応じて、0 または 1 になります)。


7 time.mktime(tupletime)

時刻タプルを受け取り、時刻 (エポック 1970 から経過した浮動小数点の秒数) を返します。


8 time.sleep(secs)

呼び出しスレッドの実行を遅らせます。secs は秒数を指します。


9 time.strftime(fmt[,tupletime])

時刻タプルを受け取り、読み取り可能な文字列として表される現地時間を返します。形式は fmt によって決定されます。


10 time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')

fmt の形式に従って時間文字列を時間タプルに解析します。


11 time.time( )

現在時刻のタイムスタンプ (1970 エポックから経過した浮動小数点の秒数) を返します。


12 time.tzset()

環境変数TZに従って時間関連の設定を再初期化します。


Time モジュールには、次の 2 つの非常に重要な属性が含まれています:


シリアル番号

属性と説明

1 time.timezone

属性 time.timezone は、ローカル タイム ゾーン (夏時間なし) 間の距離です。およびグリニッジオフセット秒 (>0、南北アメリカ、

2 time.tzname

time.tzname 属性には、状況に応じて異なる文字列のペアが含まれています。これは、夏時間ありまたはなしのローカル タイム ゾーン名です。


カレンダーモジュール

このモジュールの機能は、特定の月のキャラクターカレンダーを印刷するなど、カレンダーに関連したものです。

月曜日はデフォルトの週の最初の日、日曜日はデフォルトの最終日です。設定を変更するには、calendar.setfirstweekday() 関数を呼び出す必要があります。このモジュールには次の組み込み関数が含まれています:

シリアル番号

関数と説明

1 Calendar.calendar(year,w=2,l=1,c=6)

マルチ形式で年を返します-line string 形式 年間カレンダー、1 行あたり 3 か月、間隔距離は c です。 毎日の幅の間隔は w 文字です。各線の長さは 21* W+18+2* C です。 l は 1 週間あたりの行数です。

2 Calendar.firstweekday( )

現在の週の開始日の設定を返します。デフォルトでは、caendar モジュールが最初にロードされるとき (月曜日) に 0 が返されます。


3 Calendar.isleap(year)

は、うるう年の場合は True を返し、そうでない場合は False を返します。


4 Calendar.leapdays(y1,y2)

Y1 と Y2 の間の閏年の合計を返します。


5 Calendar.month(year,month,w=2,l=1)

タイトルが 2 行、各週が 1 行の複数行の文字列形式で年と月のカレンダーを返します。毎日の幅の間隔は w 文字です。各行の長さは 7*w+6 です。 l は 1 週間あたりの行数です。


6 Calendar.monthcalendar(year,month)

単一レベルのネストされた整数リストを返します。各サブリストは週を表す整数を保持します。年、月、月以外の日付はすべて 0 に設定され、範囲内の日は 1 から始まる日で表されます。


7 Calendar.monthrange(年,月)

2 つの整数を返します。 1 つ目は月の曜日の日付コード、2 つ目は月の日コードです。日の範囲は 0 (月曜日) から 6 (日曜日) まで、月の範囲は 1 から 12 までです。


8 Calendar.prcal(year,w=2,l=1,c=6)

は print Calendar.calendar(year,w,l,c)


9 Calendar.prmonth(year,month, w =2,l=1)

print Calendar.calendar(year,w,l,c) と同等。

10 Calendar.setfirstweekday(weekday)
各週の開始日コードを設定します。 0(月曜日)から6(日曜日)まで。

11 Calendar.timegm(tupletime)
は time.gmtime の逆です。時間タプル形式を受け入れ、その時点の時刻 (1970 エポックから経過した浮動小数点の秒数) を返します。

12 Calendar.weekday(年,月,日)
指定された日付の日付コードを返します。 0(月曜日)から6(日曜日)まで。月の範囲は 1 (1 月) から 12 (12 月) までです。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:Python 関数次の記事:Python 関数