我有一个date
字符串11/2004
通过API和移动设备发送给我,我试图在date
字段中显示此内容。
如果我尝试渲染它,我会在控制台上看到以下警告
指定值“11/2004”不符合所需格式。 格式是“yyyy-MM”,其中yyyy是四位或更多位数的年份,和 MM是01-12。
所以使用momentjs我认为这应该很容易更改为日期或月份格式,但我正在努力,因为我似乎无法获得我想要的输出。
我尝试了以下代码但是给了我invalid date
moment('11/2004').format('yyyy-MM')
我在这里做错了什么?如何以正确的格式在输入字段上显示日期?我不能将字段类型更改为其他任何内容,因为它是移动设备上的日期选择器字段。
答案 0 :(得分:1)
您应该使用string-format
创建日期moment('11/2004', 'MM/YYYY')
然后使用format()
函数
moment('11/2004', 'MM/YYYY').format('YYYY-MM')
答案 1 :(得分:1)
查看documentation on parsing您需要做的事情是使用指定的格式创建您的时刻对象。
moment('11/2004','MM/YYYY')
这会将日期设置为第一个,但将月份和年份设置为指定的日期。
另外,您的格式有误,yyyy
应为大写YYYY
所以你的最终代码应该是这样的
moment('11/2004', 'MM/YYYY').format('YYYY-MM')