2016-04-28 21 views

答えて

2

あなたはインドに住んでいるからです!

私はそれをどのように知っていましたか?

まあ、0のタイムスタンプは、1970-01-01 00:00:00 UTCを意味します。あなたの出力は05:30:00を示すので、あなたのタイムゾーンはUTC + 05:30です。そして、インドは世界の数少ない場所の1つで、タイムゾーンのオフセットは時間数ではありません。

fromtimestamp()を使用してPythonで日時を構成すると、デフォルトでローカルタイムゾーンを使用して変換されます。これは、gmtime()ではなく古典的なC関数localtime()を呼び出すことに相当します。

+0

@JFSebastian:あなたは正しく、私の間違いを指摘してくれてありがとうございます。私はそれを反映するために私の答えを更新しました。 –

+0

@ J.F.Sebastianと@ John Zwinckありがとう! –

0

コードを実行すると、結果が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]')