datetime
モジュールとtime
モジュールの違いと、それぞれの用途を理解しようとしています。
datetime
は日付と時刻の両方を提供することを知っています。 time
モジュールの用途は何ですか?
例が評価され、タイムゾーンに関する違いが特に重要です。
time
モジュールは主にUNIXタイムスタンプを操作するためのものです。 UNIXエポックからの秒数とみなされる浮動小数点数として表されます。 datetime
モジュールは同じ操作の多くをサポートできますが、よりオブジェクト指向のタイプのセットを提供し、タイムゾーンのサポートも制限されています。
time
に固執して、DSTのあいまいさを防ぎます。time
モジュールではなく、システムdatetime
モジュールのみを使用して、 夏時間(DST)のあいまいさの問題を防止します 。
現地時間を含む任意の時間形式への変換は非常に簡単です。
_import time
t = time.time()
time.strftime('%Y-%m-%d %H:%M %Z', time.localtime(t))
'2019-05-27 12:03 CEST'
time.strftime('%Y-%m-%d %H:%M %Z', time.gmtime(t))
'2019-05-27 10:03 GMT'
_
time.time()
は、システムエポックからの経過時間を秒単位で表す浮動小数点数です。 time.time()
は、明確なタイムスタンプに最適です。
システムが追加で ネットワークタイムプロトコル(NTP) dæmonを実行すると、かなり強固なタイムベースになります。
time
モジュールの ドキュメント を次に示します。
時間モジュールは、特定のレコードの時間だけが必要な場合に使用できます。たとえば、毎日のトランザクション用に別々のテーブル/ファイルがあるとします。そうすれば、時間だけが必要になります。ただし、時刻データ型は通常、2つの時点の間の時刻differenceを格納するために使用されます。
これはdatetimeを使用して行うこともできますが、特定の日の時間だけを処理する場合は、timeモジュールを使用できます。
日時は、レコードの特定のデータと時刻を格納するために使用されます。レンタル会社のように。期日は日時データ型になります。
タイムゾーンに興味がある場合は、pytzの使用を検討する必要があります。