Pythonの日時モジュールと時間モジュールの違い


136

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

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

例は高く評価され、タイムゾーンに関する違いは特に興味深いでしょう。

回答:


101

このtimeモジュールは、主にUNIXタイムスタンプを操作するためのものです。UNIXエポックからの秒数である浮動小数点数として表されます。datetimeモジュールは、同じ操作の多くをサポートしていますが、タイプの複数のオブジェクト指向のセットを提供し、また、時間帯のためのいくつかの限定的なサポートを持っていることができます。


22
さらに、timeとの違いは何datetime.timeですか?
SparkAndShine 2015年

リアルタイム/単調であるかのように、プロパティを詳細化するのが良いでしょう。あなたが持っているPOSIX標準のように:CLOCK_REALTIME、CLOCK_MONOTONIC、CLOCK_THREAD、等...でPOSIXクロックは以下を参照してくださいstackoverflow.com/questions/3523442/...を
Vajk Hermecz

11

timeDSTのあいまいさを防ぐために固執してください。

timeモジュールではなくシステムモジュールのみを使用して、夏時間(DST)のあいまいさの問題datetime防ぎます。

現地時間を含む任意の時間形式への変換は非常に簡単です。

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)デーモンをさらに実行する場合、かなり堅実なタイムベースになります。

これはモジュールのドキュメントtimeです。


あなたの例ではを使用time.localtime()していますが、もちろんDSTが組み込まれています。私たちが純粋主義者になるのであれば、time.gmtime()代わりに使用すべきではありませんか?:)
Seamus

@Seamusで両方のコマンドを単純にテストipythonするtime.gmtime()と、タプルが生成されますtime.time()が、UNIXエポック時間は、1970年1月1日木曜日00:00:00 UTCから経過した秒の10進数の単一の値として示されます。関数time.localtime(t)はエポック時間をローカルに変換します時間タプル。だから、あなたの質問への答えは«いいえ»です。
セルジュStroobandt

時間オブジェクトに日数を追加する方法はありますか?datetimeには、timedelta(days = 6)メソッドがあります。
Nehemias Herrera

@NehemiasHerrera t = time.time()は、システムエポックからの時間を秒単位で表す浮動小数点数です。したがって、毎日86400秒を単純に加算または減算できます。t += 86400
Serge Stroobandt

5

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

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

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


3

タイムゾーンに関心がある場合は、pytzの使用を検討してください。


8
彼は時間と日時モジュールとそれらの間のタイムゾーンの違いに最も興味があるように思えます。すべての敬意を払って、これに別の依存関係をもたらすことはほとんど無関係です。
sbartell 2011

3
timeモジュールとdatetimeモジュールの両方でのタイムゾーンのサポートは非​​常に貧弱です...タイムゾーンを便利な方法で処理することに本当に興味があるなら、彼は本当にpytzについて知っているべきです。現在の依存関係が問題の解決に
役立た
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.