2016-12-20 4 views
0

私はAngularとWebAPIを使ってWebアプリケーションをやっています。私は角度コントローラとWebAPIコントローラの違いの日付に奇妙な問題があります。HTMLとWebAPIの間に異なる入力日付

<input id="signupDateofBirth" ng-model="dateofBirth" placeholder="Date of birthday" type="date" max="1998-01-01" min="1900-12-31" class="form-control">

はのは、日付が1990年12月31日であると仮定してみましょう:私のhtmlページに私は日付のタイプの入力を持っています。私は私の角度コントローラでそれを割り当てることだし、デバッグ中に日付が正しいです:1990年12月31日:私はWebAPIのコントローラでオブジェクトを取得するとき

DateOfBirth: $scope.dateofBirth 
 

 
DateOfBirth: Mon Dec 31 1990 00:00:00 GMT+01

enter image description here

問題が表示されます。日付はAngular Controllerの日付の前日です。それはイメージのような30.12.1990のです: enter image description here

任意のアイデア?多分私はそれをフォーマットする必要がありますか?

答えて

1

これはタイムゾーンのために表示されます。

コントローラの日付は、ローカルタイムゾーン(GMT + 1)で正しく設定されています。

あなたのAPIがそれを受け取ったら、それを処理する方法がわかりません。あなたのJSONで返された日付がローカルタイムゾーンにあるように指定する必要があります。

APIのstartup.csにローカルタイムゾーンを指定してください。 newtonsoft JSONで:

json.SerializerSettings.DateTimeZoneHandling = DateTimeZoneHandling.Local; 

EDIT

あなたはいつもあなたのAPIおよびその逆にISO形式の日付を渡す必要があります。参照:https://wikipedia.org/wiki/ISO_8601

+0

はい、動作します。ありがとう! – ryckoshet

+0

あなたは大歓迎です:) – Parker

関連する問題