2016-07-05 6 views
1

私はmm/dd/yyyyの形式に日付を解析しようとしています。JavaScriptの月のメソッドの問題

My機能:

function formatDate(value) { 
    // value = '2016-07-05T00:00:00-04:00' 
    var dt = new Date(); 
    dt = Date.parse(value); // dt = 1467691200000 
    return dt.getMonth() + 1 + "/" + dt.getDate() + "/" + dt.getFullYear(); 
} 

私はこのエラーを取得しています:

dt.getMonth is not a function

私がgetMonth()メソッドにアクセスすることはできませんのでdtが有効な日付ではないようです。これを動作させるために私が必要とするものがないかどうかだけです。

答えて

0

別々に解析関数を呼び出すのではなく、日付を作成するときにパラメータとしてvalueを渡すようにしてください。

function formatDate(value) { 
    var dt = new Date(value); 
    return dt.getMonth() + 1 + "/" + dt.getDate() + "/" + dt.getFullYear(); 
} 
+0

これは機能しました!本当にありがとう !! –

2

Date.parse()オブジェクト型Dateを返し、あなたがそれを確認することができません。console.log(typeof dt);を。

したがって、toLocaleDateStringメソッドを使用して行うことができます。

function formatDate(value) { 
 
    var dt = new Date(value); 
 
    dt.setMonth(dt.getMonth() + 1); 
 
    console.log(dt.toLocaleDateString()); 
 
} 
 

 
var dates = ['2016-05-04T00:00:00-04:00', '2013-07-05T00:00:00-02:00', '2015-04-06T00:00:00-01:00']; 
 

 
for (var i = 0; i < dates.length; i++) { 
 
    formatDate(dates[i]); 
 
}

注:toLocaleDateString方法は、それができる、つまり、あなたロケールの規則を使用しています別のための別の形式で返します

ここだが、スニペットの作業ですユーザー。

私はそれが役に立ちそうです。