首页 > 解决方案 > 在 Javascript 中查找两个日期之间的星期日

问题描述

在美国,基督教的主显节盛宴发生在 1 月 2 日至 1 月 8 日(含)之间的星期日。我正在尝试使用 Javascript 来查找它所在的日期。似乎它应该工作,但我什么也没得到:

var startDate = new Date(2018,0,2);
var endDate = new Date(2018,0,8);
var epiphanyUS = new Date();

while (startDate < endDate){
  if (startdate.getDay() === 0){
    epiphanyUS = startdate;
  }
  startDate.setDate(startDate.getDate() + 1);
}
console.log("Epiphany is" + epiphanyUS.format("MM-DD-YYYY"));

标签: javascriptdate

解决方案


如果您更愿意使用 return 语句,也可以将逻辑包装在函数中。

var startDate = new Date(2018,0,2);
var endDate = new Date(2018,0,8);

function getEpiphanyUS (startDate, endDate) {

  while (startDate <= endDate) {
    if (startDate.getDay() === 0){
      return startDate
    }
    startDate.setDate(startDate.getDate() + 1);
  }

}

var epiphanyUS = getEpiphanyUS (startDate, endDate)
console.log("Epiphany is " + epiphanyUS.toDateString());


推荐阅读