我有两个输入日期来自Date Picker控件。我选择了开始日期2/2/2012和结束日期2/7/2012。我为此编写了以下代码。
我应该得到6的结果,但是我却得到5。
function SetDays(invoker) { var start = $find('<%=StartWebDatePicker.ClientID%>').get_value(); var end = $find('<%=EndWebDatePicker.ClientID%>').get_value(); var oneDay=1000 * 60 * 60 * 24; var difference_ms = Math.abs(end.getTime() - start.getTime()) var diffValue = Math.round(difference_ms / oneDay); }
谁能告诉我如何获得确切的区别?
从Moment文档:
var a = moment([2007, 0, 29]); var b = moment([2007, 0, 28]); a.diff(b, 'days') // =1
或包含起点:
a.diff(b, 'days')+1 // =2
避免手动打乱时间戳和时区。
根据您的特定用例,您可以
a/b.startOf('day')
a/b.endOf('day')
true
Math.floor
Math.ceil
Math.round
'seconds'
'days'
24*60*60