Создание обьекта Date с помощью toString() от другого обьекта Date в качестве аргумента
Я знаю, что это не совсем правильный способ создавать дату, но все же интересно понять почему один и тот же способ в одном случае приводит к создании одной и той же даты, а в другом случае создает разные даты?
let a = new Date();
let a1 = new Date(a.toString());
console.log(a.getTime() == a1.getTime());
let a = new Date(2022, 1, 1);
let a1 = new Date(a.toString());
console.log(a.getTime() == a1.getTime());
Ответы (1 шт):
Автор решения: Grundy
→ Ссылка
вывод toString
имеет вид Wed Apr 03 2024 13:02:41 GMT+0300
в нем видно, что значение указывается до секунд.
метод getTime
возвращает значение с учетом миллисекунд.
Именно эта разница и дает в первом случае false
, а во втором true
, так как при указывании в конструкторе значений - остальные параметры устанавливаются в 0
, а при вызове конструктор без параметров - берется текущее значение времени включая миллисекунды