Isso funciona em Javascript
new Date()-new Date("2013-02-20T12:01:04.753Z")
Mas, em texto datilografado, não posso descansar duas novas datas
Date("2013-02-20T12:01:04.753Z")
Não funciona porque o paremater não corresponde à assinatura da data
date
typescript
user2025288
fonte
fonte
new Date(1970, 1, 1, 0, 0, 0, 0).valueOf() // returns 2674800000 new Date(1970, 1, 1, 0, 0, 0, 0).getTime() // returns 2674800000
new Date().getTime()
usoDate.now()
para não criar novos objetos desnecessariamente.É assim que deve ser feito no texto datilografado:
Melhor legibilidade:
fonte
eventStartTime
eeventEndTime
que a duração fica digitado como umnumber
(ou seja, se você literalmente pegue a terceira linha de código aqui por si só aqui duração será de um número)Não funciona porque
Date - Date
depende exatamente do tipo de coerção de tipo que o TypeScript foi projetado para impedir.Existe uma solução alternativa para isso usando o
+
prefixo:Ou, se você preferir não usar
Date.now()
:Veja a discussão aqui .
Ou veja a resposta de Siddharth Singh, abaixo, para uma solução mais elegante usando
valueOf()
fonte
Para calcular a diferença, você deve colocar o
+
operador,dessa maneira
typescript
converte as datas em números.A partir daí, você pode fazer uma fórmula para converter a diferença em
minutes
ouhours
.fonte
fonte