Olá, o motivo é a definição dos construtores da classe Date
do JavaScript. Se você observar na documentação aqui, há dois construtores de Date
que aceitam um parâmetro.
A primeira versão aceita um número que deve ser um ... valor inteiro representando o número de milissegundos desde 1 de Janeiro de 1970 00:00:00 UTC (Era Unix ou Marco Zero), ou seja, justamente o tipo de informação que o método getTime()
retorna. Internamente o método da classe está pronto para extrair todas as informações - dia, mês, ano, horas, minutos, fuso - desta quantidade em milissegundos.
A segunda versão é uma string
formatada de acordo com um formato específico de data.