Метка времени имеет десятичную дробь?

#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).