2012-07-04 45 views
-1

我必须比较今天的日期与日历日期(选择日期使用日期选择器ajax)。 如果日期差异超过7天,则生成警报。比较今天的日期与日历日期(接下来的七天只有其他生成警报)

 var mydate = new Date();//Todays date 
     var theyear = mydate.getFullYear(); 
     var themonth = mydate.getMonth() + 1; 
     var thetoday = mydate.getDate(); 

     txtDate.value='04-Jul-2012';//date picker date in this format 
+0

的可能重复的[Javascript来比较两个日期,从字符串,开始<=结束](http://stackoverflow.com/questions/2336086/javascript-比较两个日期从字符串开始结束) –

+0

不重复它不同一个 – John

+0

这不是一个不同的。它需要完全相同的方法。那么,是的,它不是*字符*是重复的。 –

回答

1
var datePicked = '26-Jun-2012'; 
var datems = Date.parse(datePicked.replace(/-/g, " ")); 
var dateNow = new Date(); 
dateNow.setHours(0,0,0,0); 
var msDiff = Math.abs(Number(dateNow) - datems); 
// 7 Days = 604 800 000 ms 
if(msDiff > 604800000) alert("Time difference greater 7 days"); 
+0

当我得到var datePicked = txtDate.value; – John

+0

没有得到警报 – John

+0

是的,使用然后var datems = Date.parse(txtDate.value.replace(/ -/g,“”));代替。 –

2
var mydate = new Date(); //Todays date 
txtDate.value='16-Jul-2012'; //date picker date in this format 

var newDate = new Date(txtDate.value); //make date object 

var difference = Math.ceil((newDate-mydate)/(60*60*24*1000)); //calculate days 

if (difference > 7) alert('more than 7 days'); 

FIDDLE

+0

txtDate.value = '16 -Jul-2012';这是动态日期我怎么做 – John

+0

Format =“dd-MMM-yyyy” – John