2017-04-17 14 views
1

私がしたいことは、anglejsの下のフォーマットの日付を印刷することです。angularjs dateタイムゾーン調整の問題

Aug 30, 2016 
{{CC.StartDate | date }} //angularjs UI code 

私はちょうどオブジェクトをjsonに自動的に逆シリアル化するレスポンス付きのモーダルを送信しています。

List<CClass> Items = CClass.GetMultipleAsObject(); //fetch data 
return Request.CreateResponse(Items); //sending it to UI 

[ネットワーク]タブで"2016-08-30T00:00:00"が届いています。しかし、別のブラウザでレンダリングされると、別のレンダリングが行われます。

私はISTタイムゾーンにいますが、Chromeは「2016年8月30日」と表示しています。しかし、IEとFFは "2016年8月29日"と表示します。 PSTのタイムゾーンでは、すべてのブラウザが正しくレンダリングします。日付はUTCのようです。

私はそれを平易な文字列に変換しようとしましたが、それでも同じ問題です。 試しました - $filter('date')(input, "yyyy-MM-dd");、まだ同じ問題

私はmomentjsを試していない、それもなくてはならないと思った。

私はこのタイムゾーンのローカリゼーションを取り除き、どのように文字列のire-timezoneの日付を表示することができますか?

+0

anglejsフィルタを使用することによって、タイムゾーンとともに変換されます。 私はブラウザに問題はないと思っています。bcz私はちょうど2016-08-30T00:00:00をIEで変換しています。それは2016年8月30日のみを表示しています。 あなたはjavascriptで解決策が必要です...これは参考になるかもしれません。 http://stackoverflow.com/questions/2771609/how-to-ignore-users-time-zone-and-force-date-use-specific-time-zone – Nitish

+0

私はちょうどあなたの形式で私は何も見つかりませんでしたチェックした....と同じように.... –

+0

同じ@Nitishを試してみましたが、Jsonオブジェクトを使ってレンダリングすると1日後になります。私が言及したように、私は別の解決策を試みたが、それは動作していない – sunder

答えて

0

日付は常にjavascriptでトリッキーです。シナリオでは、タイムゾーンに関係なく日付を表示する必要があります。 getUTCDate()getUTCMonth()getUTCFullYear()を使用すると、日付文字列から個々の要素を取得し、新しい日付オブジェクトを作成できます。

次の例では、ieとchromeの両方で同じ日付が返されます。

JSFiddle link

は、この情報がお役に立てば幸いです。

関連する問題