2016-09-25 19 views
0

剣道の日付ピッカーに奇妙な問題が発生しています。剣道UI DatePicker時間の問題

<input data-role="datepicker" data-bind="value: selectedUser.HireDate" /> 

すべてがローカルにうまく動作しますが、私はアズールに私のアプリを展開するとき、データがサーバーに送信される前に、私は入社日のために間違った時間を取得しています:私はそれを定義しています。

例:datePickerを8/1/2016に設定し、ローカルマシンのサーバーにデータを送信する前にjavascript関数をブレークします。Mon Aug 01 2016 00:00:00 GMT- 0700(太平洋夏時間)。
私がライブサイトで同じ実験を行った場合、私は月Aug 01 2016 17:00:00 GMT-0700(太平洋夏時間)を取得します。データがサーバーに渡されると、サーバーが7時間のタイムゾーンオフセットを追加して8月2日をデータベースに保存してしまったため、日付が間違っています。

私の理解では、クライアントでは、サーバーの場所に関係なく、日付は常にローカルの日付と時刻を指しているはずです。さらに、datepickerには常に00:00:00に設定された時間が必要ですか?

なぜ、サイトがAzureサーバーにデプロイされたときに、剣道データピッカーウィジェットがユーザー選択に17時間を追加するのはなぜですか?

なぜこのようなことが起こっているのか、非常に感謝しています。

ありがとうございます。

答えて

0

問題の原因がわかったと思います。どうやら、datepickerはモデルをウィジェットにロードするときの時間の値を保持しています。私の場合、日付は00:00:00のようにデータベースに保存され、MVCが現地時間に変換すると17:00:00(-7:00 PST)になりました。その後、ユーザーがdatepickerで日付を変更すると、17:00:00はそれにとどまります。

私はブラウザとサーバーの間の変換を理解していますが、なぜdatepickerウィジェットが時間をその値に保持するのか不思議です。 datetimepickerはそれを行う必要がありますが、datepickerは時刻を00:00:00に保つ必要があります。これはもちろん私の意見です。たぶん、これには理由があります。 Telerik ellaborateから誰かを聞くことは興味深いでしょう。

ありがとうございました。

関連する問題