Я собираю некоторые данные от датчиков, и я получаю временную метку из него, как это:datetime.fromtimestamp vs datetime.utcfromtimestamp, какой из них безопаснее использовать?
"time": {
"seconds": 40,
"year": 115,
"month": 5,
"hours": 7,
"time": 1434549820776,
"date": 17,
"minutes": 3,
"day": 3,
"timezoneOffset": 420
},
У меня есть сценарий питона, который обрабатывает данные, поступающие от датчиков (входные данные в формате 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'
Как вы можете есть час разница, поэтому мой вопрос, какой лучше использовать?
сначала выходы в сообщениях не отличаются друг от друга ... во-вторых, это зависит от того, что вы хотите, хотите ли вы время в вашем местном часовом поясе или в скоординированном универсальном времени (UTC)? на самом деле это зависит от того, была ли отметка времени написана в формате UTC или по местному времени –
@JulienSpronck Я думаю, что они означают, что вывод не соответствует часам: минуты: секунды в dict, даже после добавления 'timezoneOffset', это на час.Я не думаю, что для нас есть незнакомые люди в Интернете, чтобы узнать, как этот час наступил. –
'utcfromtimestamp' всегда должен давать последовательные результаты, независимо от того, в каком часовом поясе вы находитесь. Но когда вы его запускаете, вы получаете' 15: 03: 40', и я получаю '14: 03: 40' - есть ли какая-то вырезать и вставить ошибку в вопрос? –