1. ホーム
  2. python

[解決済み] datetime.fromtimestamp vs datetime.utcfromtimestamp、どちらを使用するのが安全か?

2022-02-09 07:34:42

質問

センサーからデータを収集しているのですが、このようにタイムスタンプを取得することができます。

   "time": {
            "seconds": 40, 
            "year": 115, 
            "month": 5, 
            "hours": 7, 
            "time": 1434549820776, 
            "date": 17, 
            "minutes": 3, 
            "day": 3, 
            "timezoneOffset": 420
        },

センサーからのデータを処理するPythonスクリプトがあります(受信データはjson形式です)。 time で、読みやすい時間形式に変換しています。

私は datetime.fromtimestamp(1434549820776/1000).strftime('%Y-%m-%d %H:%M:%S') を返し、それが '2015-06-17 15:03:40'

ここで datetime.utcfromtimestamp(1434549820776/1000).strftime('%Y-%m-%d %H:%M:%S') 返される。 '2015-06-17 14:03:40'

このように1時間の差があるのですが、どちらを使うのが良いのか質問です。

解決方法は?

jsonを見ると、タイムスタンプがローカルで2015-06-17 07:03:40に該当していることがわかります。

timezoneOffsetは、ローカル時間とUTC時間の間に7時間の差があることを伝えています=> あなたのjsonに対応するUTC時間は2015-06-17 14:03:40です。

を使用すると、このようになるので datetime.utcfromtimestamp(1434549820776/1000).strftime('%Y-%m-%d %H:%M:%S') (=> '2015-06-17 14:03:40') ということは、タイムスタンプはUTC時間で書かれていることになるので、この場合は utcfromtimestamp 正確を期すなら