function(startDate, lastDate){
var midDate = newDate(startDate.getFullYear(),startDate.getMonth(),Math.ceil((lastDate.getDate() + startDate.getDate()) / 2));
var startDateOffset = startDate.getTimezoneOffset();
var lastDateOffset = lastDate.getTimezoneOffset();
var midDateOffset = midDate.getTimezoneOffset();
var finalDate = new Date();
if(startDateOffset == midDateOffset){
if((lastDate.getDate() - midDate.getDate()) > 1){
alert("loop");
finalDate = this.getDaylightChangeDate(midDate, lastDate);
}
}
我的开始日期是 10 月 20 日,结束日期是 22 日,中间日期是 10 月 20 日。这仅发生在 Brasilia 位置,startDateOffset 和 midDateOffset 也是 180 作为输出..这将代码抛出无限循环,因为中间日期始终等于开始日期。请在javascript中建议一些其他方法来计算中间日期