一尘不染

遍历NodeJS中的一系列日期

node.js

我想遍历一系列的日历日期,每次迭代为+1天。我将使用Java中围绕JodaTime构建的东西-NodeJS中是否有类似的东西?


阅读 266

收藏
2020-07-07

共1个答案

一尘不染

您可以在node.js应用程序中使用moment.js

npm install moment

然后,您可以很容易地做到这一点:

var moment = require('moment');

var a = moment('2013-01-01');
var b = moment('2013-06-01');

// If you want an exclusive end date (half-open interval)
for (var m = moment(a); m.isBefore(b); m.add(1, 'days')) {
  console.log(m.format('YYYY-MM-DD'));
}

// If you want an inclusive end date (fully-closed interval)
for (var m = moment(a); m.diff(b, 'days') <= 0; m.add(1, 'days')) {
  console.log(m.format('YYYY-MM-DD'));
}

嗯…这看起来很像您已经在自己的答案中编写的代码。Moment.js是一个更受欢迎的库,具有大量功能,但是我想知道哪个库的性能更好?也许您可以测试并告诉我们。:)

但是这些都不像JodaTime那样出色。为此,您需要一个使用JavaScript实现TZDB的库。我在这里列出其中一些。

另外,请注意一般的JavaScript日期问题。这也会影响NodeJS。

2020-07-07