【发布时间】:2017-04-26 20:54:24
【问题描述】:
我在 Air Datepicker 中选择一个日期,并尝试将今天的日期与所选日期进行比较以确定天数的差异。因此,例如,如果今天是 2016 年 12 月 11 日,我选择 12/20/2016,我想得到差值,即 9。
我一直遇到以下错误:“end.diff 不是函数”。
我已将以下代码简化为基本要素:
HTML
<form>
<input id="datereq" name="datereq" type="text" class="dateReq" value="" />
</form>
<div id="selected"></div>
JQUERY
var date = new Date(),
disabledDays = [0, 6];
$('.dateReq').datepicker({
dateFormat: 'mm/dd/yyyy',
minDate: new Date(),
language: 'en',
autoClose: true,
onRenderCell: function(date, cellType) {
if (cellType == 'day') {
var day = date.getDay(),
isDisabled = disabledDays.indexOf(day) != -1;
return {
disabled: isDisabled
};
}
},
// Display Appropriate Order Type Options
onSelect: function onSelect(fd, date) {
var now = moment(new Date()).format('MM/DD/YYYY'),
end = fd,
days = end.diff(now, 'days');
$('#selected').html('now:' + now + 'end:' + end + 'diff:' + days);
//console.log('end:' + end);
//console.log('diff:' + days);
}
});
小提琴
【问题讨论】:
-
当你添加
.format()时,diff 不会将它视为时刻 obj。
标签: javascript jquery date datepicker momentjs