Python の日付と時刻
Python プログラムはさまざまな方法で日付と時刻を処理でき、日付形式の変換は一般的な機能です。
Python は、日付と時刻の書式設定に使用できる時刻とカレンダーのモジュールを提供します。
時間間隔は秒単位の浮動小数点数です。
各タイムスタンプは、1970 年 1 月 1 日の午前 0 時 (エポック) からの経過時間を表します。
Python の time モジュールには、一般的な日付形式を変換できる関数が多数あります。たとえば、次の例に示すように、関数 time.time() は現在のタイムスタンプを取得するために使用されます:
# -*- コーディング: UTF-8 - *-
import time; # time モジュールの紹介
ticks = time.time()
print "The current timestamp is:", Nicks
上記の出力結果の例:
タイムスタンプ単位は日付操作を行うのに最適です。ただし、1970 年より前の日付はこの方法では表現できません。遠すぎる日付も機能しません。UNIX と Windows は 2038 年までのみサポートされます。
時間タプルとは何ですか?
多くの Python 関数は、1 つの要素を使用して 9 セットの数値を組み立てます。処理時間は次のとおりです:
フィールド | 値 | |
---|---|---|
4桁の年 | 2008 | |
月 | 1〜12 | |
日 | 1〜31 | |
時間 | 0〜23 | |
分 | 0から59まで | |
秒 | 0〜61(60または61はうるう秒) | |
曜日 | 0〜6(0は月曜日) | |
曜日曜日 | 1から366(ユリウス暦) | |
サマータイム | -1、0、1、-1はサマータイムかどうかを決めるフラグです |
属性 | 0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
- 1、0、1、-1 は夏時間かどうかを決定するフラグです | 現在時刻を取得します浮動小数点数を返すtimeメソッドを時間タプルに変換し、浮動小数点数をlocaltimeなどの関数に渡すだけです。 #!/usr/bin/python # -*- コーディング: UTF-8 -*- インポート時間 localtime = time.localtime(time.time()) print "現地時間は:" 、localtime 上記の例の出力結果: 現地時間は次のとおりです: time.struct_time(tm_year=2016, tm_mon=4, tm_mday=7, tm_hour=10, tm_min=3, tm_sec=27, tm_wday =3, tm_yday =98, tm_isdst=0) フォーマットされた時刻を取得します必要に応じてさまざまな形式を選択できますが、読み取り可能な時刻パターンを取得する最も簡単な関数は asctime(): # ! /usr/bin/python # -*- コーディング: UTF-8 -*- インポート時間 localtime = time.asctime( time.localtime(time.time()) ) print "現地時間は:" , localtime 上記の例の出力結果: 現地時間は: Thu Apr 7 10:05:21 2016 日付の形式time モジュールの strftime メソッドを使用できます日付をフォーマットするには: time.strftime(format[, t]) #!/usr/bin/python # -*- コーディング: UTF-8 -*- import time # 2016 にフォーマット-03-20 11: 45:39 format print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) # Sat Mar 28 22 にフォーマットされました:24:24 2016 format print time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()) # フォーマット文字列をタイムスタンプに変換します a = "Sat Mar 28 22 :24:24 2016" print time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y")) の出力結果上記の例: 2016 -04-07 10:25:09 Thu Apr 07 10:25:09 2016 1459175064.0 Python の時刻と日付の書式設定記号:
特定の月のカレンダーを取得しますCalendar モジュールには、年次を処理するための幅広いメソッドがあります特定の月の月間カレンダーを印刷するなどの月間カレンダー: #!/usr/bin/python # -*- コーディング: UTF-8 -*- import Calendar cal = Calendar.month (2016, 1) print "以下は 2016 年 1 月のカレンダーを出力します: " print cal; 上記の例の出力結果: 次の出力は 2016 年 1 月のカレンダーです: January 2016 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 モジュールには、時刻処理と時刻形式変換の両方のための次の組み込み関数が含まれています:
その他の関連モジュールと関数 Python では、日付と時刻を処理するその他のモジュールは次のとおりです:
|