开发者

Calculating Date difference and matching it with array

Is there any way in JavaScript that I can check if date is between 2 dates?

I have an array like

var unavailableDates = ["5-7-2011","6-7-2011","7-7-2011","15-7-2011","16-7-2011","17-7-2011" ];

and now I have 2 dates like 1-7-2011 and 10-7-2011. I want to see if an开发者_如何学Pythony value from unavailableDates falls between these date. If it falls it should return alert.

Can someone help me on this? I am in process of learning more about JavaScript and jQuery. I am not able to code it the way I understood the problem.


Here you have the solution

var unavailableDates = ["5-7-2011","6-7-2011","7-7-2011","15-7-2011","16-7-2011","17-7-2011" ];
function str2date(sdate){ //This function gets a string and return a Date object
   var parts = sdate.split("-");
   return new Date(parts[2], parseInt(parts[1], 10)-1, parts[0]);
}
var stamp1 = str2date("1-7-2011").getTime(); //First date. getTime() converts it to an integer
var stamp2 = str2date("10-7-2011").getTime(); //Second date
for(var i=0; i<unavailableDates.length; i++){
   var curStamp = str2date(unavailableDates[i]).getTime();
   if(curStamp >= stamp1 && curStamp <= stamp2) //Check if it falls in range
       alert(unavailableDates[i] + " falls in range");
}

Hope this helps. Cheers


Date object in JavaScript allows compare operation, you only required to have proper Date objects. Create Date objects from your bounds and array members and compare them in a loop.

More information about Date object could be found there: http://www.w3schools.com/js/js_obj_date.asp

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜