Ini berfungsi di Javascript
new Date()-new Date("2013-02-20T12:01:04.753Z")
Tapi di naskah saya tidak bisa istirahat dua Tanggal baru
Date("2013-02-20T12:01:04.753Z")
Tidak berfungsi karena paremater tidak cocok dengan tanda tangan tanggal
Ini berfungsi di Javascript
new Date()-new Date("2013-02-20T12:01:04.753Z")
Tapi di naskah saya tidak bisa istirahat dua Tanggal baru
Date("2013-02-20T12:01:04.753Z")
Tidak berfungsi karena paremater tidak cocok dengan tanda tangan tanggal
Jawaban:
Gunakan getTimemetode untuk mendapatkan waktu dalam milidetik total sejak 1970-01-01, dan kurangi itu:
var time = new Date().getTime() - new Date("2013-02-20T12:01:04.753Z").getTime();
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()use Date.now()agar Anda tidak membuat objek baru secara tidak perlu.
Beginilah cara melakukannya dalam skrip ketikan:
(new Date()).valueOf() - (new Date("2013-02-20T12:01:04.753Z")).valueOf()
Keterbacaan yang lebih baik:
var eventStartTime = new Date(event.startTime);
var eventEndTime = new Date(event.endTime);
var duration = eventEndTime.valueOf() - eventStartTime.valueOf();
eventStartTimedan eventEndTimedurasi itu diketik sebagai number(artinya jika Anda benar-benar mengambil baris ketiga kode di sini dengan sendirinya di sini durasi akan menjadi angka)
Ini tidak berfungsi karena Date - Datebergantung pada jenis pemaksaan tipe yang dirancang untuk dicegah oleh TypeScript.
Ada solusi untuk ini menggunakan +awalan:
var t = Date.now() - +(new Date("2013-02-20T12:01:04.753Z");
Atau, jika Anda memilih untuk tidak menggunakan Date.now():
var t = +(new Date()) - +(new Date("2013-02-20T12:01:04.753Z"));
Atau lihat jawaban Siddharth Singh, di bawah, untuk solusi yang lebih elegan menggunakan valueOf()
Untuk menghitung selisih, Anda harus meletakkan + operator,
dengan cara itu typescriptmengubah tanggal menjadi angka.
+new Date()- +new Date("2013-02-20T12:01:04.753Z")
Dari sana, Anda dapat membuat rumus untuk mengonversi selisih menjadi minutesatau hours.
// TypeScript
const today = new Date();
const firstDayOfYear = new Date(today.getFullYear(), 0, 1);
// Explicitly convert Date to Number
const pastDaysOfYear = ( Number(today) - Number(firstDayOfYear) );