Cela fonctionne en Javascript
new Date()-new Date("2013-02-20T12:01:04.753Z")
Mais en tapuscrit, je ne peux pas me reposer deux nouvelles dates
Date("2013-02-20T12:01:04.753Z")
Ne fonctionne pas car le paramètre ne correspond pas à la signature de la date
date
typescript
user2025288
la source
la source
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()
useDate.now()
pour ne pas créer de nouveaux objets inutilement.Voici comment cela doit être fait en tapuscrit:
Meilleure lisibilité:
la source
eventStartTime
eteventEndTime
que la durée est tapée comme unnumber
(ce qui signifie que si vous prenez littéralement la troisième ligne de code ici seule, la durée sera un nombre)Cela ne fonctionne pas car
Date - Date
dépend exactement du type de coercition de type que TypeScript est conçu pour empêcher.Il existe une solution de contournement en utilisant le
+
préfixe:Ou, si vous préférez ne pas utiliser
Date.now()
:Voir la discussion ici .
Ou voir la réponse de Siddharth Singh, ci-dessous, pour une solution plus élégante utilisant
valueOf()
la source
Afin de calculer la différence, vous devez mettre l'
+
opérateur,de cette façon
typescript
convertit les dates en nombres.À partir de là, vous pouvez créer une formule pour convertir la différence en
minutes
ouhours
.la source
la source