服务器给我一个日期格式这样May 04, 2016
时刻不格式化这个日期2016年5月4日
var month = moment('May 04, 2016', 'MM-DD-YYYY').format('M')
month
给我4
,显然可能要5
,它给了我似乎一天,不是这个月。
如何格式化服务器给我的日期以确定使用moment.js的月份?
编辑:
真的不知道为什么我downvoted其实我试过下面的答案,仍然可以得到
服务器给我一个日期格式这样May 04, 2016
时刻不格式化这个日期2016年5月4日
var month = moment('May 04, 2016', 'MM-DD-YYYY').format('M')
month
给我4
,显然可能要5
,它给了我似乎一天,不是这个月。
如何格式化服务器给我的日期以确定使用moment.js的月份?
编辑:
真的不知道为什么我downvoted其实我试过下面的答案,仍然可以得到
当你给moment
两个字符串参数the documentation says第二个意思是第一个的格式。 MM-DD-YYYY
不是May 04, 2016
的格式。的May 04, 2016
格式是MMM DD, YYYY
:
console.log(moment("May 04, 2016", "MMM DD, YYYY").format("M"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/moment.min.js"></script>
OP使用'format',而不是'month'。 –
我使用的格式与OP相同,但是文档中明确指出该月的索引从0到11.所以1月:0,feb:1 .. May:4 https://jsfiddle.net/ww96dtwL/1/ – SenthilKumarM
文件清楚地说'月'将返回0-11。但[格式很清楚记录](http://momentjs.com/docs/#/displaying/format/)返回'1-12':*“Month - M - 1 2 ... 11 12” *(因为它是格式化的输出,只有程序员用基于0的数据编写日期,而不是大多数人。) –
尝试
VAR月=时刻( '五一04年,2016年', 'MMM-DD-YYYY')格式(。 'MM')
将“MM”更改为“MMM”并将.format('M')更改为格式('MM')。
如果OP因此需要'“5”',.format(“MM”)'不正确。 –
在这个链接说,那个月将返回0-11。和.format('M')正确对不起。 [链接](http://momentjs.com/docs/#/get-set/month/) –
要更正您的答案(“MM”与“M”),您可以使用“编辑”链接。但是,'MMM-DD-YYYY'不是解析'2016年5月4日'的正确格式。建议只删除。 –
*“我实际上尝试了下面的答案,仍然得到”*您已经使用了'MM'。下面的答案(如果你指的是我的)说'MMM'。 [它很重要](http://momentjs.com/docs/#/parsing/string-format/)。 –
我的意思是傻乎乎的,但你是对的。谢谢你们,需要额外的头脑! –