Использование new Date().getTime() / 1000
является неполным решением для получения секунд, поскольку оно создает временные метки с единицами с плавающей запятой.
const timestamp = new Date() / 1000; // 1405792936.933
// Technically, .933 would be milliseconds.
Лучшее решение будет:
// Rounds the value
const timestamp = Math.round(new Date() / 1000); // 1405792937
// - OR -
// Floors the value
const timestamp = new Date() / 1000 | 0; // 1405792936
Значения без значений с плавающей запятой также безопаснее для условных операторов, так как значения с плавающей запятой могут давать нежелательные результаты.Степень детализации, которую вы получаете с помощью поплавка, может быть больше, чем необходимо.
if (1405792936.993 < 1405792937) // true