JavaScript 如何存储给定两个日期之间的数组中的所有日期
有时,我们需要获得给定日期范围内的所有日期。在本教程中,我们将取两个日期并找到两个日期之间的所有日期。同时,我们将在数组中存储所有的日期。
在这里,我们将学习三种方法来存储给定两个日期之间的数组中的所有日期。
使用while循环和setDate()方法
我们可以使用while循环进行迭代,并使用setDate()方法来设置日期对象中的日期。在while循环的每一次迭代中,我们可以将日期增加一天并将其设置为date1。
语法
用户可以按照下面的语法来使用while循环和setDate()方法来获取两个日期之间的所有日期。
在上述语法中,date1是开始日期,date2是结束日期。
算法
第1步 - 创建两个日期。
第2步 - 使用while循环,并检查date1是否小于date2。
第 3步 - 从date1创建一个新的日期,并将其推到dateArray中。
第 4 步 – 使用getDate()方法从date1获取日期,并添加1。
第 5 步 – 使用setDate()方法来设置一个新的日期。
例子1
在下面的例子中,我们使用Date对象创建了date1和date2。之后,我们实现了上述算法以获得两个日期之间的所有日期。在输出中,用户可以观察到date1和date2之间的所有日期。
使用for循环和日期的总毫秒数
在这种方法中,我们将得到第一个和第二个日期的总毫秒数。之后,我们将不断把1天的毫秒加入到当前日期的总毫秒中,并使用新的毫秒,我们可以创建一个日期。
这样,我们就可以找到给定的两个日期之间的所有日期,并将它们存储在数组中。
语法
用户可以按照下面的语法来使用for循环和日期的总毫秒数来获得两个日期之间的所有日期。
在上述语法中,milliOf1Day是一天的总毫秒数。
算法
第1步 --获取当前日期和最后日期的总毫秒数。
第2步 --使用for循环,用开始日期的总毫秒数初始化currentMillis变量。
第 3 步–使用for循环进行迭代,直到我们发现当前的毫秒数小于最后日期的毫秒数。
第4步 -同时,在currentMillis中加入1天的毫秒。
第5步 -用currentMillis创建一个新的日期,并推送到for a循环的dateArray变量中。
例2
在这个例子中,我们有一个milliOf1Day变量,我们在其中存储了1天的总毫秒数。之后,我们使用for循环和毫秒来实现上述算法,以获得两个日期之间的所有日期。
使用 momentJS 库
momentJS库允许我们对日期进行操作。
语法
用户可以按照下面的语法来使用 momentJS 库来获得两个日期之间的所有日期。
在上述语法中,我们使用了 momentJS 库的 add()和 diff() 方法。
例子3
在下面的例子中,我们从用户那里得到了开始和最后的日期。之后,我们使用输入的日期,并使用 momentJS 库创建日期。
接下来,我们使用add()方法在当前日期上增加一天。另外,我们使用diff()方法来获取当前日期和最后日期之间的差异。