Birisi JavaScript kullanarak iki tarihin büyük, küçük ve geçmişte olmayan değerlerini karşılaştırmanın bir yolunu önerebilir mi? Değerler metin kutularından gelecek.
Date object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) istediğiniz şeyi yapacaktır - her tarih için bir tane oluşturun, ardından >
, <
, <=
veya >=
kullanarak bunları karşılaştırın.
==,
!=,
===ve
!==operatörleri
date.getTime()` kullanmanızı gerektirir.
var d1 = new Date();
var d2 = new Date(d1);
var same = d1.getTime() === d2.getTime();
var notSame = d1.getTime() !== d2.getTime();
Açık olmak gerekirse, doğrudan tarih nesneleri ile eşitliği kontrol etmek işe yaramayacaktır
var d1 = new Date();
var d2 = new Date(d1);
console.log(d1 == d2); // prints false (wrong!)
console.log(d1 === d2); // prints false (wrong!)
console.log(d1 != d2); // prints true (wrong!)
console.log(d1 !== d2); // prints true (wrong!)
console.log(d1.getTime() === d2.getTime()); // prints true (correct)
Kendinizi giriş doğrulama cehenneminde bulmamanız için metin kutuları yerine açılır pencereler veya benzer kısıtlı bir tarih girişi biçimi kullanmanızı öneririm.
Hangi format?
Bir Javascript Date object oluşturursanız, milisaniye farkını elde etmek için bunları çıkarabilirsiniz (düzenleme: veya sadece karşılaştırabilirsiniz):
js>t1 = new Date()
Thu Jan 29 2009 14:19:28 GMT-0500 (Eastern Standard Time)
js>t2 = new Date()
Thu Jan 29 2009 14:19:31 GMT-0500 (Eastern Standard Time)
js>t2-t1
2672
js>t3 = new Date('2009 Jan 1')
Thu Jan 01 2009 00:00:00 GMT-0500 (Eastern Standard Time)
js>t1-t3
2470768442
js>t1>t3
true
var date = new Date(); // will give you todays date.
// following calls, will let you set new dates.
setDate()
setFullYear()
setHours()
setMilliseconds()
setMinutes()
setMonth()
setSeconds()
setTime()
var yesterday = new Date();
yesterday.setDate(...date info here);
if(date>yesterday) // will compare dates