Bisakah saya mengonversi tanggal iso ke milidetik? misalnya saya ingin mengubah iso ini
2012-02-10T13:19:11+0000
hingga milidetik.
Karena saya ingin membandingkan tanggal sekarang dari tanggal dibuat. Dan tanggal dibuat adalah tanggal iso.
javascript
iso
isodate
Robin Carlo Catacutan
sumber
sumber
1328796537
, tetapi di fb api, tanggal ditampilkan di iso2012-02-10T13:18:45+0000
date1.getTime() - date2.getTime()
- hanya itu yang Anda butuhkanJawaban:
Coba ini
var date = new Date("11/21/1987 16:00:00"); // some mock date var milliseconds = date.getTime(); // This will return you the number of milliseconds // elapsed from January 1, 1970 // if your date is less than that date, the value will be negative console.log(milliseconds);
EDIT
Anda telah memberikan tanggal ISO. Itu juga diterima oleh konstruktor
Date
objekvar myDate = new Date("2012-02-10T13:19:11+0000"); var result = myDate.getTime(); console.log(result);
Sunting
Yang terbaik yang saya temukan adalah menghilangkan offset secara manual.
var myDate = new Date("2012-02-10T13:19:11+0000"); var offset = myDate.getTimezoneOffset() * 60 * 1000; var withOffset = myDate.getTime(); var withoutOffset = withOffset - offset; console.log(withOffset); console.log(withoutOffset);
Sepertinya bekerja. Sejauh masalah dengan mengubah string ISO menjadi
Date
objek, Anda dapat merujuk ke tautan yang disediakan.EDIT
Memperbaiki bug dengan konversi yang salah menjadi milidetik menurut komentar Prasad19sara.
sumber
var myDate = new Date("2012-02-10T13:19:11+0000");
Singkatan dari solusi sebelumnya adalah
var myDate = +new Date("2012-02-10T13:19:11+0000");
Itu melakukan konversi tipe on the fly dan langsung mengeluarkan tanggal dalam format milidetik.
Cara lain juga menggunakan metode parse dari Date util yang hanya mengeluarkan waktu EPOCH dalam milidetik.
var myDate = Date.parse("2012-02-10T13:19:11+0000");
sumber
+new Date()
pengembalian1447857230137
yang merupakan waktu dalam milidetik.const dateMillis = Number(new Date('2017-09-26T20:24:18.801Z'))
tetapinew Date('2017-09-26T20:24:18.801Z').getTime()
ataunew Date('2017-09-26T20:24:18.801Z').valueOf()
bahkan lebih mudah dibaca.Opsi lain pada 2017 adalah menggunakan
Date.parse()
. Dokumentasi MDN menunjukkan, bagaimanapun, bahwa itu tidak dapat diandalkan sebelum ES5.var date = new Date(); // today's date and time in ISO format var myDate = Date.parse(date);
Lihat biola untuk lebih jelasnya.
sumber
Solusi lain yang mungkin adalah untuk membandingkan tanggal saat ini dengan
January 1, 1970
, Anda bisa mendapatkanJanuary 1, 1970
dengannew Date(0)
;var date = new Date(); var myDate= date - new Date(0);
sumber
Ya, Anda dapat melakukannya dalam satu baris
let ms = Date.parse('2019-05-15 07:11:10.673Z'); console.log(ms);//1557904270673
sumber
Solusi lain dapat menggunakan Number object parser seperti ini:
let result = Number(new Date("2012-02-10T13:19:11+0000")); let resultWithGetTime = (new Date("2012-02-10T13:19:11+0000")).getTime(); console.log(result); console.log(resultWithGetTime);
Ini mengkonversi ke milidetik seperti
getTime()
padaDate
objeksumber
var date = new Date() console.log(" Date in MS last three digit = "+ date.getMilliseconds()) console.log(" MS = "+ Date.now())
Dengan menggunakan ini kita bisa mendapatkan tanggal dalam milidetik
sumber
var date = new Date (date_string); var milidetik = date.getTime ();
Ini berhasil untuk saya!
sumber
jika ingin mengubah tanggal UTC menjadi
sintaks milidetik : Date.UTC (tahun, bulan,? hari,? jam,? min,? sec,? milidetik);
misal:
date_in_mili = Date.UTC(2020, 07, 03, 03, 40, 40, 40);
console.log('miliseconds', date_in_mili);
sumber
Jika ada yang ingin mengambil hanya Waktu dari Tanggal ISO, berikut akan sangat membantu. Saya sedang mencari itu dan saya tidak dapat menemukan pertanyaan untuk itu. Jadi jika ada yang melihat akan membantu.
let isoDate = '2020-09-28T15:27:15+05:30'; let result = isoDate.match(/\d\d:\d\d/); console.log(result[0]);
Outputnya adalah satu-satunya waktu dari isoDate yang,
15:27
sumber