2017-05-31 4 views
0

私は日付を書式化しようとしていますが、書式を設定するたびに時刻に時間帯が追加されるという問題を抱えています。 .toUTCString()を呼び出すと動作しますが、それは私には望ましくないフォーマットを与えます。だから私は.toUTCString()に電話し、日付をフォーマットしたいと思う。しかし、タイムゾーンが戻ってきました。角度 - 日付パイプでフォーマットされた日付からタイムゾーン時間を除外する方法は?

私はdate-fnsフレームワークを使用していますが、これはjavascriptの日付機能で実現できますか?

GMTが+2であるため、日付の書式を設定して余分な時間を追加しないようにするにはどうすればよいですか? 10:00については、例えば12:00が得られます。タイムスタンプ、文字列または日付オブジェクトを:

@Pipe({ 
    name: 'exactDate' 
}) 

export class ExactDatePipe implements PipeTransform { 

    transform(value: string, args: string) { 

    const parsedDate: string = datefns.format(new Date(value).toUTCString(), args); 

    return parsedDate; 
    } 
} 

答えて

1

date-fns

それは常に関係なく、あなたが渡されたものを、ローカルタイムゾーンの日付を返さないことを非常に明確です。

あなたの質問が正しく理解されていれば、そのような動作は望ましくありません。代わりに、たとえば

var date = new Date(), 
    options = { 
    timeZone: 'UTC', 
    timeZoneName: 'short' 
    }, 
    str = date.toLocaleString('en-US', options); 
    // str format like "5/31/2017, 1:55:21 PM GMT" 

あなたはフォーマットを完全にコントロールを持っているため、Date.toLocaleString機能によって提供さオプションパラメータを使用してみてください - ここMDN documentです。

+0

たとえば、「2017-05-05 14:00」という形式を使用する場合はどうすればよいですか? – Chrillewoodz

+0

ロケール固有の書式設定をサポートするためにdate-fnを使用していると仮定しました。そうでない場合は、単にDate.getUTC *関数を使用し、必要に応じて結果の文字列をアセンブルします。 – RamblinRose

+0

完全な例を共有できますか?私はこれに固執しています。フォーマットを 'yyyy-MM-dd hh:mm'として渡す必要があります。私はあなたが望むフォーマットを渡すことができる限り、日付がどのようにフォーマットされているか気にしません。 – Chrillewoodz

関連する問題