#javascript
Вопрос:
Я использую следующий код для получения метки времени в Javascript, но он возвращает десятичную дробь. Когда я проверил метку времени с помощью онлайн-конвертера, она на самом деле верна. Я никогда раньше не видел такого формата.
var currentTS = new Date().getTime() / 1000;
Как я могу получить целое число и почему оно возвращает допустимую метку времени с десятичной запятой?
Спасибо
Комментарии:
1.
getTime
возвращает миллисекунды, поэтому деление на 1000 возвращает секунды. Что-то вроде половины секунды-это, очевидно, что-то с запятой.
Ответ №1:
Не используйте синтаксический анализ для числа — используйте математику.пол
Математика.этаж(новая дата().Время получения() / 1000);
Кстати, результатом этого является Временная метка UNIX.
Ответ №2:
Если результат не делится на 1000, вы получите дробный результат, он не возвращает метку времени, он просто возвращает число.
Если вы хотите сократить, вы можете; parseInt(new Date().getTime() / 1000, 10);
Ответ №3:
Я полагаю, вы имеете в виду, что функция возвращает значение с плавающей запятой, а не целое значение.
Чтобы преобразовать число с плавающей запятой в целое число в JavaScript, используйте Math.round(num).