0

これがオンラインで少しカバーされていることは知っていますが、残念ながらこの特定のコードを変更する方法はまだよくわかりません。

timeCreated: function(dateString) {     
    var date = new Date(dateString);
    var monthNames = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ];

    var hh = date.getHours();
    var m = date.getMinutes();
    var dd = "AM";  
    var h = hh;

    if (h >= 12) {
        h = hh-12;
        dd = "PM";
    }
    if (h == 0) {
        h = 12;
    }

    return h + ':' + date.getMinutes().toString() + ' ' + dd + ' ' + monthNames[date.getMonth()] + ', ' + date.getDate().toString() + ', ' +  date.getFullYear().toString();


}

dateString は として出力されTue Nov 06 23:29:33 +0000 2012ます。

4

2 に答える 2

2

入力した日付形式がどの標準形式とも一致しないため、それIEを解析できません。つまり、正しい日付オブジェクトを作成できません。

Dateオブジェクトが適切に構築されていないため、andなどのすべてのメソッドがNaNdate.getHours();date.getMinutes();返します。

日付文字列を許容可能な形式(dateString = "Nov 06 2012 23:29:33 +0000"など)で使用すると、正しく機能します。

カスタム形式のベースデータ解析をサポートする場合は、 http://www.mattkruse.com/javascript/date/getDateFromFormat(val,format)を参照してください。これには、特定の形式の日付文字列をDateオブジェクトに変換するための大きなカスタムメソッドがあります。ご覧になり、それが役立つかどうかを確認してください。

于 2012-11-13T06:19:42.730 に答える
0

の形式はdateString何ですか?

日付文字列を解析するための組み込みサポートは、ブラウザーによって貧弱なものからひどいものまでさまざまです。文字列を手動で解析して Date オブジェクトに変換し、そこから移動する方がはるかに優れています。文字列形式を指定すると、さらにヘルプが表示されます。

于 2012-11-13T06:51:14.337 に答える