Datas e horários: Um site deve fazer a simulação de um investimento e, para tanto, precisa calcular a quantidade de dias entre as datas de aplicação e resgate. Assinale a alternativa que permite obter, a partir de dois objetos Date, data1 e data2, a quantidade de dias entre eles.
Um site deve fazer a simulação de um investimento e, para tanto, precisa calcular a quantidade de dias entre as datas de aplicação e resgate. Assinale a alternativa que permite obter, a partir de dois objetos Date, data1 e data2, a quantidade de dias entre eles.
a) data1 - data2
b) data1.Subtract(data2)
c) (data1.getDate() - data2.getDate()).Days
d) (data1.getTime() - data2.getTime())/(24*3600)
e) (data1.getTime() - data2.getTime())/86400000
Para obter a quantidade de dias entre dois objetos Date (JavaScript), a forma correta é calcular a diferença entre os timestamps (em milissegundos) e depois converter para dias.
-
Em JavaScript,
data.getTime()retorna o número de milissegundos desde 01/01/1970. -
A diferença
data1.getTime() - data2.getTime()resulta em um valor em milissegundos. -
Como 1 dia = 24 horas = milissegundos, basta dividir por
86400000.
Analisando as alternativas:
- a) Subtrair objetos
Dateaté funciona em JS (vira diferença em ms), mas não retorna dias, retorna milissegundos. - b)
Subtracté típico de C#/.NET, não de JavaScript. - c)
getDate()pega o dia do mês (1 a 31), não a data completa; além disso.Daysnão faz sentido aqui. - d) Está dividindo por
(24*3600), que é segundos por dia, mas a diferença dogetTime()está em milissegundos; faltaria dividir por 1000. - e) Correta: converte de milissegundos para dias dividindo por
86400000.
Alternativa correta: (e).