ISO tarihini milisaniyeye dönüştürebilir miyim? örneğin bu iso'yu dönüştürmek istiyorum
2012-02-10T13:19:11+0000
milisaniyeye.
Çünkü şu anki tarihi yaratılan tarihten karşılaştırmak istiyorum. Oluşturulan tarih iso tarihidir.
ISO tarihini milisaniyeye dönüştürebilir miyim? örneğin bu iso'yu dönüştürmek istiyorum
2012-02-10T13:19:11+0000
milisaniyeye.
Çünkü şu anki tarihi yaratılan tarihten karşılaştırmak istiyorum. Oluşturulan tarih iso tarihidir.
1328796537
, ancak fb api'de tarih iso olarak gösterilir2012-02-10T13:18:45+0000
date1.getTime() - date2.getTime()
- tek ihtiyacınız olan bu
Yanıtlar:
Bunu dene
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);
DÜZENLE
Bir ISO tarihi sağladınız. Date
Nesnenin kurucusu tarafından da kabul edilir
var myDate = new Date("2012-02-10T13:19:11+0000");
var result = myDate.getTime();
console.log(result);
Düzenle
Bulduğum en iyi şey, ofsetten manuel olarak kurtulmak.
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);
Çalışıyor gibi görünüyor. ISO dizesini Date
nesneye dönüştürmeyle ilgili sorunlara gelince , sağlanan bağlantılara başvurabilirsiniz.
DÜZENLE
Prasad19sara'nın yorumuna göre yanlış milisaniyeye dönüştürme hatası düzeltildi.
var myDate = new Date("2012-02-10T13:19:11+0000");
Önceki çözümlerin kısaltması şudur:
var myDate = +new Date("2012-02-10T13:19:11+0000");
Anında tür dönüşümü yapar ve doğrudan milisaniye formatında tarih verir.
Başka bir yol da, yalnızca EPOCH zamanını milisaniye cinsinden veren Tarih kullanımının ayrıştırma yöntemini kullanmaktır.
var myDate = Date.parse("2012-02-10T13:19:11+0000");
+new Date()
döner 1447857230137
.
const dateMillis = Number(new Date('2017-09-26T20:24:18.801Z'))
ama new Date('2017-09-26T20:24:18.801Z').getTime()
ya new Date('2017-09-26T20:24:18.801Z').valueOf()
daha da okunabilir.
2017 itibariyle bir başka seçenek de kullanmaktır Date.parse()
. MDN en dokümantasyon o öncesinde ES5 için güvenilmez olduğunu, ancak, dikkat çekiyor.
var date = new Date(); // today's date and time in ISO format
var myDate = Date.parse(date);
Daha fazla ayrıntı için kemana bakın.
Bir diğer olası çözüm ile geçerli tarih karşılaştırmaktır January 1, 1970
, alabileceğiniz January 1, 1970
tarafından new Date(0)
;
var date = new Date();
var myDate= date - new Date(0);
Evet, bunu tek satırda yapabilirsiniz
let ms = Date.parse('2019-05-15 07:11:10.673Z');
console.log(ms);//1557904270673
Başka bir çözüm de Number nesne çözümleyicisini şu şekilde kullanmak olabilir:
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);
Tıpkı milisaniyeye Bu dönüştürür getTime()
üzerinde Date
nesne
var date = new Date()
console.log(" Date in MS last three digit = "+ date.getMilliseconds())
console.log(" MS = "+ Date.now())
Bunu kullanarak milisaniye cinsinden tarih alabiliriz
var tarih = yeni Tarih (tarih_dizesi); var milisaniye = tarih.getTime ();
Bu benim için çalıştı!
Birinin yalnızca ISO Tarihinden Saati almak istemesi durumunda , aşağıdakiler yardımcı olacaktır. Bunu arıyordum ve bunun için bir soru bulamadım. Yani birinin görmesi durumunda yardımcı olacaktır.
let isoDate = '2020-09-28T15:27:15+05:30';
let result = isoDate.match(/\d\d:\d\d/);
console.log(result[0]);
Çıktı, isoDate'ten gelen tek zaman olacaktır;
15:27