我想遍历一系列的日历日期,每次迭代为+1天。我将使用Java中围绕JodaTime构建的东西-NodeJS中是否有类似的东西?
您可以在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。