2016-06-01 18 views
0

booking.dateの形式を01/06/2016'EEEE, MMMM d, y' (Wednesday, June, 1, 2016)に変換しようとしています。私は次のAngularJSフィルタdateを試しましたが、動作していないようです。助言がありますか?英国形式とDjango形式の日付を実際の日付に変換する

<p style="small">{{ booking.date | date:'fullDate' }}<br>{{ booking.time }}</p> 

私も形式で別の日付があります。他の場所2016-05-31T19:18:24Zを、私もこのために取ることができ、別のアプローチがありますか?

答えて

1

あなたは(彼らは構文解析のための等価です)文字列を解析するためにコンストラクタまたはDate.parseを使用しないでください。ライブラリを使用すると、手作業で文字列を解析することができます(多くの選択肢があります)。ただし、1つの形式しか持たない場合は、単純な関数で十分です。

d/m/y形式の文字列(非常に広く使用されていますが、m/d/yが米国にあるという点でイギリス特有のものではありません)を解析して値を検証するには、以下のような:

/* Parse a date string in d/m/y format 
 
** @param {string} s - date string 
 
** @returns {Date} If date is invalid, returns an invalid Date 
 
*/ 
 
function parseDMY(s) { 
 
    var b = (''+s).split(/\D/); 
 
    var d = new Date(b[2], --b[1], b[0]); 
 
    return d && d.getMonth() == b[1]? d : new Date(NaN); 
 
} 
 

 
document.write(parseDMY('01/05/2016'));