S_R*_*S_R 2 javascript momentjs
我有 2 个这样的约会
2018-01-01和2019-01-01
我想返回这两个日期之间所有月份的列表,但同时在列表中获取月初和月末,如下所示
2018-01-01 - 2018-01-31
2018-02-01 - 2018-02-28
2018-03-01 - 2018-03-31
Run Code Online (Sandbox Code Playgroud)
对于这两个日期之间的所有月份,依此类推。我该如何使用 Moment JS 来做到这一点?
我会选择这样的东西:
var start = moment('2018-01-01', 'YYYY-MM-DD')
var end = moment('2019-01-01', 'YYYY-MM-DD')
while (start < end) {
console.log(start.startOf('month').format('YYYY-MM-DD'))
console.log(start.endOf('month').format('YYYY-MM-DD'))
start.add(1, 'month')
}
Run Code Online (Sandbox Code Playgroud)
正如其他用户指出的那样,当您使用和moment之类的方法时, 的对象会发生变化,因此您应该考虑像这样克隆它们:startOfendOf
var startOfMonth = start.clone().startOf('month')
// ... and so on
Run Code Online (Sandbox Code Playgroud)
只是一个小的可运行示例。小心 moment.js:时刻会发生变异!
我希望这能帮到您!
const format = 'YYYY-MM-DD';
const start = moment('2018-01-01', format), end = moment('2019-01-01', format);
const result = [];
while(start.isBefore(end)) {
result.push({
start: start.startOf('month').format(format),
end: start.endOf('month').format(format)
});
start.add(1, 'month');
}
console.log(result);Run Code Online (Sandbox Code Playgroud)
<script src="https://momentjs.com/downloads/moment.min.js"></script>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1920 次 |
| 最近记录: |