1

私はPythonでこれを試しています。それらの違いは何ですか:

>>> a = datetime.fromtimestamp(1373576406)
>>> a.replace(tzinfo=tzutc())
datetime.datetime(2013, 7, 12, 0, 0, 6, tzinfo=tzutc())
>>> a.strftime('%s')
'1373576406'

>>> datetime.fromtimestamp(1373576406).replace(tzinfo=tzutc()).strftime('%s')
'1373580006'

なぜこれが起こっているのかよくわかりません。両方のタイムスタンプが等しくあるべきではありませんか?

Python 3.3.2 と Python 2.7.1 の両方でこれらを試しました

4

1 に答える 1

2

datetime.replace新しい日時インスタンスを返します。

最初の例では、戻り値を無視してから、古い日時インスタンスで実行してdatetime.replaceいます。datetime.strftime

これが、あなたが経験している不平等の原因です。

両方の例を同じにするには、詳細な例を次のように編集する必要があります。

>>> a = datetime.fromtimestamp(1373576406)
>>> a = a.replace(tzinfo=tzutc())
>>> a.strftime('%s')
'1373576406
于 2013-07-30T13:17:54.357 に答える