2017-09-12 10 views
1
let date = new Date("2017-09-12T12:00:00"); 
    console.log(date.getUTCMonth()); 

ここで私はそれが月のが記録されます期待していますが、それはをロギングいます。 年、日、時と分が正しく解析されます。何が起きてる?どのように上記の日付文字列から09を抽出できますか?Javascriptの日付解析エラーですか?

+0

Javascriptの月は0で始まり、1月は0、2月は1などとなります。だから、date.getUTCMonth()に1を加えなければなりません。 –

+0

その日は1から始まりますが、月は0から始まりますか? –

+0

はい。唯一の月は0から始まり、1から始まります。 –

答えて

3

date.getUTCMonth()メソッドは、指定した日付のために(0から11まで)の月を返します。

だから、あなたが期待するものを得るために、あなたは1

2

ヶ月間はJavascriptで0から始まるインデックスです追加する必要があります。

var date = new Date(date), 
    month = '' + (date.getMonth() + 1), 
    day = '' + date.getDate(), 
    year = date.getFullYear(); 

簡単な例として、YYYY-MM-DD形式でフォーマットする場合のフォーマット方法です。

関連する問題