import datetime
now = datetime.datetime.utcnow()这个now如何转成时间戳。。用time.mktime(now.timetuple())这个方法产生的时间戳比time.time()产生的时间戳少28800秒,现在我的方法是手动加上28800秒产生时间戳,,有没有更好的方法
学习是最好的投资!
リーリー
実際、質問者は mktime の意味を誤解しています。Python の公式ドキュメントを見てみましょう:
mktime
time.mktime(t)これは localtime() の逆関数です。その引数は struct_time または完全な 9 タプルです (dst フラグが必要なので、dst フラグとして -1 を使用します)。不明な場合は、UTC ではなく現地時間で時刻を表します。 time() との互換性のために、浮動小数点数を返します。入力値が有効な時刻として表現できない場合は、OverflowError または ValueError が発生します。これは、無効な値が Python によって検出されるか、基礎となる C ライブラリによって検出されるかによって異なります)。時刻を生成できる最も早い日付はプラットフォームによって異なります。
mktime は、utc 時間ではなく現地時間を渡す必要があるため、指定された utc 時間のタイムスタンプを取得したい場合は、より簡単な方法は次のとおりです:
Unix タイムスタンプの開始時刻を直接減算します。つまり、
現地時間に変換
もちろん、たくさんの方法があります。ここでは、わかりやすい 2 つの方法だけを紹介します。さらに詳しく知りたい場合は、参考リンクを参照してください: Converting datetime.date to UTC timestamp in Python
@yylucifer よく言われます。 主な問題はタイムゾーンの変換です。 問題に対しては、次の方法を使用できます
リーリー
実際、質問者は
mktime
の意味を誤解しています。Python の公式ドキュメントを見てみましょう:mktime
は、utc 時間ではなく現地時間を渡す必要があるため、指定された utc 時間のタイムスタンプを取得したい場合は、より簡単な方法は次のとおりです:
リーリーUnix タイムスタンプの開始時刻を直接減算します。つまり、
リーリー現地時間に変換
もちろん、たくさんの方法があります。ここでは、わかりやすい 2 つの方法だけを紹介します。さらに詳しく知りたい場合は、参考リンクを参照してください: Converting datetime.date to UTC timestamp in Python
@yylucifer よく言われます。 主な問題はタイムゾーンの変換です。
リーリー問題に対しては、次の方法を使用できます