web-dev-qa-db-ja.com

Python datetime vs timeモジュールの違い

datetimeモジュールとtimeモジュールの違いと、それぞれの用途を理解しようとしています。

datetimeは日付と時刻の両方を提供することを知っています。 timeモジュールの用途は何ですか?

例が評価され、タイムゾーンに関する違いが特に重要です。

107
myusuf3

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モジュールの ドキュメント を次に示します。

5

時間モジュールは、特定のレコードの時間だけが必要な場合に使用できます。たとえば、毎日のトランザクション用に別々のテーブル/ファイルがあるとします。そうすれば、時間だけが必要になります。ただし、時刻データ型は通常、2つの時点の間の時刻differenceを格納するために使用されます。

これはdatetimeを使用して行うこともできますが、特定の日の時間だけを処理する場合は、timeモジュールを使用できます。

日時は、レコードの特定のデータと時刻を格納するために使用されます。レンタル会社のように。期日は日時データ型になります。

5
Jan S

タイムゾーンに興味がある場合は、pytzの使用を検討する必要があります。

4
donkopotamus