Неверное значение UTC для метки времени эпохи - PullRequest
0 голосов
/ 11 сентября 2018

Я храню день рождения как метку времени.Для всего остального он работает нормально, но для человека, чей день рождения 1968-08-06, отметка времени эпохи выглядит как -44323200000.Когда я пытаюсь преобразовать эту временную метку в дату, она дает мне ошибочный результат (скриншот прилагается).Удивительно для кого-то, чей день рождения 1961-02-27 (отметка времени эпохи -279072000000), он отлично работает. source : epochconverter.com

1 Ответ

0 голосов
/ 12 сентября 2018

Вы используете Инструменты преобразования меток времени Epoch & Unix . Этот сайт пытается угадать, является ли число, которое вы вводите, в секундах или миллисекундах с начала эпохи, а иногда и угадывает неправильно.

Если я введу -44323200 (секунд), я правильно получу « GMT : вторник, 6 августа 1968 года, 12:00:00». Если я введу -44323200000 и укажу, что это миллисекунды, сайт по-прежнему воспринимает это как секунды и выдаст мне « GMT : суббота, 15 июня, 0565, 12:00:00», 1453 года назад.

Я не нашел способа указать, является ли введенное число секундами или миллисекундами. Есть и другие онлайн-конвертеры времени эпохи. текущий миллис , например, всегда предполагает миллисекунды. Когда я ввожу -44323200000, я получаю вт 6 августа 1968 00:00: 00.

Тем не менее, использование значения миллисекунды для записи дня рождения кажется мне слишком точным. Если бы это был я, я бы рассматривал дату в строке формата ISO 8601, например, 1968-08-06. Или, если это должно быть число, то дней с эпохи, а не миллисекунд. Например -513 для 1968-08-06. Преобразование дней и секунд с 1970 года и т. Д. можно перевести.

...