検索

ホームページ  >  に質問  >  本文

python中datetime类型的utc时间如何转成时间戳?

import datetime

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

PHPzPHPz2893日前612

全員に返信(3)返信します

  • 黄舟

    黄舟2017-04-18 09:05:02

    リーリー

    返事
    0
  • PHP中文网

    PHP中文网2017-04-18 09:05:02

    実際、質問者は 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
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:05:02

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

    リーリー

    返事
    0
  • キャンセル返事