我有两个约会。一个来自datepicker,另一个是今天的约会。我希望使用jQuery来区分这两个日期,但它会提示Nan。这是我的代码
var mydob = jQuery('#datepicker').val();
alert(mydob);// This prompts value from date picker accurately
var newdate = '<?php echo date('m/d/Y') ?>';
alert(newdate); // This prompts accurate today's date
var diffx = Math.abs(newdate-mydob);
var diffz = diffx/(24*60*60*1000);
alert(diffx); This prompts Nan
if(diffz < 5110)///if it is less than 14
{
alert('under 14');
return false;
}
答案 0 :(得分:0)
问题是mydob
和newdate
都是字符串,而不是数值。
var mydob = jQuery('#datepicker').datepicker('getDate');
alert(mydob); // This prompts value from date picker accurately
var newdate = $.datepicker.parseDate( 'm/d/yy', '<?php echo date('m/d/Y') ?>');
alert(newdate); // This prompts accurate today's date
var diffx = Math.abs(newdate.getTime() - mydob.getTime());
演示:Fiddle
答案 1 :(得分:0)
您的新日期&#39;是从PHP echo设置的,它是一个格式化日期的字符串(格式为m / d / Y)。您需要将newdate设置为Date对象。我有点困惑,因为大多数人在将一种脚本语言内嵌到另一种脚本语言时,至于是否需要从服务器端获取日期是出于某种原因。如果你可以从客户端获得它,那么只需要&new;新的日期()&#39; var newdate = new Date()&#39;没问题,否则:
var newdate = new Date("<?= date('m/d/Y') ?>");
我不能100%确定你的#datepicker上的.val()会返回什么,因为我不知道它是什么产生的,但是这也可能是一个字符串,所以你&&lt; #39;我也需要从中初始化Date()对象。