time_orign_epochは1970-01-01 00:00:00にする必要があります。秒の差がゼロのエポックタイムの計算時間が5:30時間増える
time_origin_epoch = datetime.datetime.fromtimestamp(0)
print time_origin_epoch
1970-01-01 05:30:00
time_orign_epochは1970-01-01 00:00:00にする必要があります。秒の差がゼロのエポックタイムの計算時間が5:30時間増える
time_origin_epoch = datetime.datetime.fromtimestamp(0)
print time_origin_epoch
1970-01-01 05:30:00
あなたはインドに住んでいるからです!
私はそれをどのように知っていましたか?
まあ、0のタイムスタンプは、1970-01-01 00:00:00 UTCを意味します。あなたの出力は05:30:00を示すので、あなたのタイムゾーンはUTC + 05:30です。そして、インドは世界の数少ない場所の1つで、タイムゾーンのオフセットは時間数ではありません。
fromtimestamp()
を使用してPythonで日時を構成すると、デフォルトでローカルタイムゾーンを使用して変換されます。これは、gmtime()
ではなく古典的なC関数localtime()
を呼び出すことに相当します。
コードを実行すると、結果が5時間遅れて表示されます。これは、私がESTに入っていて、UTCの5時間遅れているという事実と一致しています。 正しい出力を確認するだけの場合は、タイムゾーンを確認してください。東アジアのどこかにいると思います。ただし、プログラム自体によって生成されたゼロ値が必要な場合は、プログラムからタイムゾーンをUTCにリセットし、再度そのスニペットを実行してみてください。あなたはその後、
を使用してnumpyののdatetime64年代に日時の文字列を変換することができimport os
import time
os.environ['TZ'] = tz
time.tzset()
:
UNIXを使用している場合は、あなたがプロセスのローカルタイムゾーンを変更するtime.tzsetを使用することができます答えthisから
def using_tzset(date_strings, tz):
os.environ['TZ'] = tz
time.tzset()
return np.array(date_strings, dtype='datetime64[ns]')
@JFSebastian:あなたは正しく、私の間違いを指摘してくれてありがとうございます。私はそれを反映するために私の答えを更新しました。 –
@ J.F.Sebastianと@ John Zwinckありがとう! –