简体   繁体   中英

how to compare two dates in jquery

the 1 st one which get using the id has format

var checkindate = $('#check-in').text();

28-07-2011

then i get the current date using

var now = new Date();

and it has the format

Wed Jul 20 2011 19:09:46 GMT+0530 (IST)

i want to get the date difference from these two dates. in this case it is 8. i searched a lot and could not find an answer, please help....... :'(

You can parse the initial date, feed it to a date object, substract it with the current time to get a millisecond difference, and then divide it by the number of milliseconds in a day.

var checkindatestr = "28-07-2011";
var dateParts = checkindatestr.split("-");

var checkindate = new Date(dateParts[2], dateParts[1] - 1, dateParts[0]);
var now = new Date();
var difference = now - checkindate;
var days = difference / (1000*60*60*24);

alert(days);

At the time of writing this gives -7.5. It's a negative number because the date is in the future. If you want a positive number, just swap the variables in the substraction. If you want a round number, just use Math.round.

You can parse your first date as described in this thread: Parse DateTime string in JavaScript

var strDate = "28-07-2011";
var dateParts = strDate.split("-");

var date = new Date(dateParts[2], (dateParts[1] - 1) ,dateParts[0]);

And then compare the two dates as asked here:Compare two dates with JavaScript

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM