如何使用 AngularJs 计算两个日期之间的夜数?

shr*_*hat 2 angularjs

我试图找到两个日期之间的夜晚数,找不到任何地方。请帮我提供最短的代码片段,它将给出两个日期之间的夜数。例如,如果两个日期是 - 18/10/2016 和 21/10/2016(请考虑默认时间格式,即 $scope.date = new date()),那么晚数将为 - 3

Wee*_*oze 5

日期格式为 mm/dd/yyy

var date1 = new Date("10/18/2016");
var date2 = new Date("10/21/2016");
var timeDiff = Math.abs(date2.getTime() - date1.getTime());
var numberOfNights = Math.ceil(timeDiff / (1000 * 3600 * 24)); 

console.log(numberOfNights + " nights"); 
Run Code Online (Sandbox Code Playgroud)

它也适用于夏令时(3 月 31 日)

var date1 = new Date("03/29/2016");
var date2 = new Date("04/01/2016");
var timeDiff = Math.abs(date2.getTime() - date1.getTime());
var numberOfNights = Math.ceil(timeDiff / (1000 * 3600 * 24)); 

console.log(numberOfNights + " nights");
Run Code Online (Sandbox Code Playgroud)

笔记

如果您在代码中多次处理日期,您可以检查momentJS