服務器給我一個日期格式這樣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/)。 –
我的意思是傻乎乎的,但你是對的。謝謝你們,需要額外的頭腦! –