2017-06-23 24 views
0

私はangualr 2サービスに日付ピッカーから日付をフォーマットしようとしています。..Angular2日付形式

日付は、文字列「2010-01-01」で、2010年1月1日にフォーマットされます。..私は

日付ストリングは、データの配列でなければなりません。..その闘争これはので、私は真新しいのnoobする@ angular2午前

static formatDate(date: string){ 
    const dateString = date.match(/^(\d{4})\-(\d{1,2})\-(\d{1,2})$/) ; 
    const date_decode = new Date(dateString[3], parseInt(dateString[1]-1), dateString[2]); 
    } 

..私はパイプを使用することができます知っているが、手動でこれを理解したいです正規表現..私は幸運と配列を初期化するためにいくつかを試してみました..誰かがこれを介して私を歩くことができますか?このソリューションで終わった

+0

あなたは 'date'になっているパラメータは何ですか?それはちょうど "2010-01-01"のような文字列ですか? –

答えて

0

同僚のおかげで...

static formatDate(initialDate: string): string { 
    const initialDateParsed = Date.parse(initialDate.replace('-', '/')); 
    const newDate = new Date(initialDateParsed); 

    if (isNaN(initialDateParsed)) { throw new Error(`Invalid initialDate provided: '${ initialDate }'`); } 

    const yyyy = newDate.getFullYear(); 
    const mm = (`0${ newDate.getMonth() + 1 }`).slice(-2); 
    const dd = (`0${ newDate.getDate() }`).slice(-2); 

    return `${ dd }/${ mm }/${ yyyy }`; 
    } 
0

私はあなたの関数は、FormatDateのparam日は「YYYY-MM-DDである "2010-01-01" であると仮定次いで、以下MM/DD/YYYY 『形式"次に希望の出力2010年1月1日にしているフォーマットは、』TS機能はJavaScriptでのアクションで同じコード上方ここ

static function formatDate(date){ 
    const dateString = date.match(/^(\d{4})\-(\d{1,2})\-(\d{1,2})$/) ; 
    const date_decode = new Date(dateString[1], parseInt(dateString[2]-1), dateString[3]); // date_decode = javascript ISO date string 
    const formatted_date = date_decode.toLocaleDateString('en-US'); 
    console.log(formatted_date); // formatted_date = 01/01/2010 
    } 

ある(わずかに修正)

function formatDate(date){ 
 
    const dateString = date.match(/^(\d{4})\-(\d{1,2})\-(\d{1,2})$/) ; 
 
    const date_decode = new Date(dateString[1], parseInt(dateString[2]-1), dateString[3]); // date_decode = javascript ISO date string 
 
\t const formatted_date = date_decode.toLocaleDateString('en-US'); // remove 'en-US' if you want output in user local format 
 
\t console.log(formatted_date); // formatted_date = 01/01/2010 
 
    } 
 
formatDate('2010-04-01');