python中datetime类型的utc时间如何转成时间戳?
PHPz
PHPz 2017-04-18 09:03:02
0
3
586

import datetime

now = datetime.datetime.utcnow()
这个now如何转成时间戳。。
用time.mktime(now.timetuple())这个方法产生的时间戳比time.time()产生的时间戳少28800秒,
现在我的方法是手动加上28800秒产生时间戳,,有没有更好的方法

PHPz
PHPz

学习是最好的投资!

全員に返信(3)
黄舟

リーリー

いいねを押す +0
Ty80

実際、質問者は mktime の意味を誤解しています。Python の公式ドキュメントを見てみましょう:

time.mktime(t)
これは localtime() の逆関数です。その引数は struct_time または完全な 9 タプルです (dst フラグが必要なので、dst フラグとして -1 を使用します)。不明な場合は、UTC ではなく現地時間で時刻を表します。 time() との互換性のために、浮動小数点数を返します。入力値が有効な時刻として表現できない場合は、OverflowError または ValueError が発生します。これは、無効な値が Python によって検出されるか、基礎となる C ライブラリによって検出されるかによって異なります)。時刻を生成できる最も早い日付はプラットフォームによって異なります。

mktime は、utc 時間ではなく現地時間を渡す必要があるため、指定された utc 時間のタイムスタンプを取得したい場合は、より簡単な方法は次のとおりです:

  1. Unix タイムスタンプの開始時刻を直接減算します。つまり、

リーリー
  1. 現地時間に変換

リーリー

もちろん、たくさんの方法があります。ここでは、わかりやすい 2 つの方法だけを紹介します。さらに詳しく知りたい場合は、参考リンクを参照してください: Converting datetime.date to UTC timestamp in Python

いいねを押す +0
伊谢尔伦

@yylucifer よく言われます。 主な問題はタイムゾーンの変換です。
問題に対しては、次の方法を使用できます

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート