2012-01-03 6 views
5

Zaman tünelinde iyi günler.Karşılaştırın gün ay ve yıl

İki tarihi karşılaştırmak istiyorum, bunlardan biri kullanıcı tarafından ekleniyor, diğeri ise günümüz. kod Parçacığı: Bu doğrudur döndüren

var dateString = "2012-01-03" 
    var date = new Date(dateString); 
    date < new Date() ? true : false; 

i kaputun hem tarihi nesneleri milisaniye dönüştürülmüş ve daha sonra karşılaştırılır altında düşünmek ve bu şekilde ise "Bugün" nesne çünkü saat ve dakika büyüktür .Sadece yapmak istediğim tarihlerin sadece ay ve yıl bazında karşılaştırılmasıdır. En iyi yaklaşım hangisidir? Yeni bir Date nesnesi oluşturun ve karşılaştırmadan önce saat dakikalarını ve milisaniyeleri sıfırlayın. Ya da her iki tarih nesnesinden ay ve yılı gün ayıklayın ve karşılaştırmayı yapın? Daha iyi bir yaklaşım var mı?

Şimdiden teşekkürler Saygılarımızla. Yeni yılınız kutlu olsun

+0

fazla bilgiyi can şurada bulunabilir: - http://stackoverflow.com/questions/492994/compare-two-dates-with-javascript –

cevap

14

Oluşturduğunuz date to zeros saatini ayarlayın. o yyyy-aa-gg biçiminde olduğu için

var d = new Date(); 
d.setHours(0,0,0,0); 
+1

Mükemmel çözüm – tt0686

0

, sadece tarih nesneden akım yyyy-aa-gg inşa etmek ve düzenli bir dize karşılaştırma yapabilirsiniz: tarih dönüşüm

var currentDate = new Date(); 
var year = currentDate.getFullYear(); 
var month = currentDate.getMonth()+1; 
if (month < 10) month = "0" + month; 
var day = currentDate.getDate(); 
if (day < 10) day = "0" + day; 
currentDate = year + "-" + month + "-" + day; 

var dateString = "2012-01-03" 
var compareDates = dateString < currentDate ? true : false; 
document.write(compareDates);