Działa to w Javascript
new Date()-new Date("2013-02-20T12:01:04.753Z")
Ale w maszynopisie nie mogę spocząć na dwóch nowych datach
Date("2013-02-20T12:01:04.753Z")
Nie pracuj, ponieważ paremater nie pasuje do podpisu daty
date
typescript
user2025288
źródło
źródło
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()
używaćDate.now()
, aby niepotrzebnie nie tworzyć nowych obiektów.Oto jak należy to zrobić na maszynie:
Lepsza czytelność:
źródło
eventStartTime
ieventEndTime
ten czas trwania zostanie wpisany jako anumber
(co oznacza, że jeśli dosłownie weźmiesz tutaj trzecią linię kodu, czas trwania będzie tutaj liczbą)To nie działa, ponieważ
Date - Date
opiera się dokładnie na rodzaju przymusu typu, który ma zapobiegać TypeScript.Istnieje obejście tego problemu za pomocą
+
przedrostka:Lub, jeśli wolisz nie używać
Date.now()
:Zobacz dyskusję tutaj .
Lub zobacz odpowiedź Siddhartha Singha poniżej, aby uzyskać bardziej eleganckie rozwiązanie
valueOf()
źródło
Aby obliczyć różnicę, musisz umieścić
+
operator,w ten sposób
typescript
zamienia daty na liczby.Stamtąd możesz utworzyć formułę, aby przekonwertować różnicę na
minutes
lubhours
.źródło
źródło