MomentJS返回一个月1号的模糊日期

MomentJS returns obscure date for 1st of month

本文关键字:1号 模糊 日期 一个 返回 MomentJS      更新时间:2023-09-26

我有一个小问题,MomentJS返回一个无意义的日期。我正在尝试将日期设置为给定月份和年份的第一天。我尝试了以下方法:-

var _year = 2015;
var _month = 10;
var _dateString = _year.toString() + '-' + _month.toString() + '-1';
var _date = moment(_dateString, 'YYYY-MM-D');
console.log('_date', _date.format('dddd, do MMMM YYYY'));

给出Thursday, 4th October 2015作为_date。这是不存在的。我尝试使用.set().date(),两者都给出相同的结果:-

var _date = moment(_dateString, 'YYYY-MM-D').set('date', 1);
> Thursday, 4th October 2015
var _date = moment(_dateString, 'YYYY-MM-D').date(1);
> Thursday, 4th October 2015

所以,我现在看不出我做错了什么,谁能提供任何建议或帮助?

许多谢谢。

你的代码是正确的,除了你应该在do中使用大写的D而不是小写的d:

console.log('_date', _date.format('dddd, Do MMMM YYYY'));

Dodo的差异:

  • do的指数在本周的第二天,例如,如果你查看日历,你会发现10月1日是星期四是一周的第四天索引从0开始,如果你更改为10月2日星期五它同样会给你5日和10月3 => 6然后新的一周开始从周日4 10月=>第0并开始一遍又一遍。

  • Do是一个月中的一天的指数,你期望的结果是,10月1日是1日,10月2日=> 2日,以此类推。

查看这里的文档获取更多信息