webForumDet fria alternativet

Jämföra två datum

JavaScriptur Javascript

4 svar · 717 visningar · startad av Pedda

Medlem sedan juni 20006 032 inlägg
Frågan#1

Försöker jämföra två datum men får inte till det.
Datumen är i formatet 2008-07-22
och det jag vill kolla är att datum1 inte är högre än datum2. Om dom är lika är ok.

Några ideer?

Medlem sedan aug. 20002 272 inlägg
#2

Inte provat utan bara tog från huvudet.
Hoppas det ger lite hjälp med hur datumkontroller kan fungera.

<script>
var currentTime = new Date()
var month = currentTime.getMonth() + 1
var day = currentTime.getDate()
var year = currentTime.getFullYear()

var date1 = new Date(year,month-1,day+5)
var date2 = new Date(year,month-1,day+1)

document.write(date1+"<br>");
document.write(date2);

if(date1 <= date2) {
	//OK
	alert("RÄTT");
} else {
	//INTE OK
	alert("FEL");
}
</script>
Medlem sedan mars 2004455 inlägg
#3

Tror inte man kan jämföra två olika datum med operatorn < då du nog redan har provat det, men något liknande detta bör du kunna lösa det på annars:

Date.prototype.compare = function(x)
{
	var f_n = new Array("getFullYear","getMonth","getDate");
	for(var i=0;i<f_n.length;i++)
	{
		var str = f_n[i] + "();";
		var me = eval("this." + str);
		var you = eval("x." + str);
		if(me > you)
			return -1;
		if(me < you)
			return 1;
	}
	return 0;
}
Medlem sedan okt. 20041 556 inlägg
#4
function daysDiff(day1, day2) {
    var diff = (Date.parse(day2.replace("-","/"))-Date.parse(day1.replace("-","/")));
    var daysDiff = Math.floor(diff / 1000 / 60 / 60 / 24);
    return daysDiff;
};

if (daysDiff('2008-07-24','2008-07-23')<0) {
	alert('Nope!')
}
Medlem sedan juni 20006 032 inlägg
#5

Travonis förslag funkade fint när jag justerade replace() funktionen lite.

function daysDiff(day1, day2) {
    var diff = (Date.parse(day2.replace(/-/g,"/"))-Date.parse(day1.replace(/-/g,"/")));
    var daysDiff = Math.floor(diff / 1000 / 60 / 60 / 24);
    return daysDiff;
}
128 ms totalt · 3 externa anrop · v20260731065814-full.55e59744
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)