原文:求两个日期中间的有效日期 - 每天一个JavaScript小知识@Js中文网 · 码农进阶题库

原文地址:https://www.javascriptc.com/interview-tips/zh_cn/javascript/between-two-dates/

题目描述:

求两个日期中间的有效日期

如 2015-2-8 到 2015-3-3,返回【2015-2-8 2015-2-9…】

解题:

  • 思路一:

先拿到两个时间的时间差,从开始时间每次加一天塞入

function rangeDay (day1, day2) {
  const result = []
	const dayTimes = 24*60*60*1000
	const startTime = day1.getTime()
	const range = day2.getTime() - startTime
	let total = 0

	while (total <= range && range > 0) {
			result.push(new Date(startTime + total).toLocaleDateString().replace(/\//g, '-'))
			total += dayTimes
	}
  return result
};
rangeDay(new Date("2015-02-08"), new Date("2015-03-03"))

[“2015-2-8”, “2015-2-9”, “2015-2-10”, “2015-2-11”, “2015-2-12”, “2015-2-13”, “2015-2-14”, “2015-2-15”, “2015-2-16”, “2015-2-17”, “2015-2-18”, “2015-2-19”, “2015-2-20”, “2015-2-21”, “2015-2-22”, “2015-2-23”, “2015-2-24”, “2015-2-25”, “2015-2-26”, “2015-2-27”, “2015-2-28”, “2015-3-1”, “2015-3-2”, “2015-3-3”]

扩展阅读: