私のプロジェクトでpersian-datepickerを使用していますが、に格納されている値はこのコンポーネントによって日付が選択されたときにはMon Apr 10 2017 00:00:00 GMT+0430 (Iran Daylight Time)
ですが、 $http.post
の場合、この値は2017-04-09T19:30:00.000Z
に変換され、サーバー側のコードはこの値を昨日と解釈します。この状況で何をすればよいかわかりますか?私はこの動作によってかなり混乱しています。サーバで受け取ったAngularJSの日付が1日遅れです
答えて
私は以前にpersian-datepicker
を使用していませんでしたが、私はangular-ui-bootstrap datepicker
でこの問題に直面しました。 angular-ui-bootstrap datepicker
はJavaScript Dateオブジェクトを使用して日付を計算します。したがって、日付はUTC datetime文字列にシリアル化されます。
angular-ui-bootstrap datepicker
で
:
ng-model-options="{timezone: 'utc'}"
をタイムゾーン計算せずに日付ピッカーを取得するには。
このpersian-datepicker号によれば、ng-model-options
もサポートされているようです。それがそうであるなら、あなたは試すことができます:
<input
uib-datepicker-popup
ng-model="modelValue"
ng-model-options="{timezone: 'utc'}">
をアイデアを、このSimilar Questionを参照してください。
編集:上記はpersian-datepicker
でサポートされていない場合は、この方法を試した後、手動で
を日付に変換します。あなたの日付は次のように次に、あなたが行うことができます例えば
var date = new Date(modelValue);
日付オブジェクトにmodelValue
に変換した後 :
var formattedDate = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate();
を。これは、任意のconversion.Howeverなしであなたに'2017-4-10'
のような日付を与えるだろう、 UTC変換を使用する場合は、次のようにします。
var formattedDate2 = date.getUTCFullYear() + '-' + (date.getUTCMonth() + 1) + '-' + date.getUTCDate();
Do thi日付をサーバーに送信する直前に、formattedDate
またはformattedDate2
をサーバーに送信します。あなたが$http.post
を起動する前に、次の操作をJSONにあなたの日付を変換するために、行われているようです - 得
JSON.stringify(date)
:順番にサーバーに送信され2017-04-09T19:30:00.000Z
ことを。
それはタイムゾーンがサポートされていないと問題が言っていると思います。 – Rachmaninoff
答えを編集しました。確認してください。 –
- 1. EWS QueryStringが「受信」日付を1日遅らせます。
- 2. 日付マスクで1桁の日付/月を受け入れます。
- 3. JavaScriptの日付オブジェクトは常に1日遅れです
- 4. マイナスの日付を受け取ったジャクソン
- 5. 最後に受取った日付で商品をフィルタする
- 6. NodeJSで日付が正しく保存されない(実際の日付より1日遅い)
- 7. AngularJS:キーで日付がng-repeatの日付で並べ替え
- 8. 今日から1ヶ月以内に日付を受け入れるには?
- 9. AngularJs gm.datepickerMultiSelect、間違った日付
- 10. 今日の日付を取得し、日付でいっぱいのテーブルで見つけます。 MySQL/PHP
- 11. 剣道UIタイムゾーンの日付が1日遅く表示されます
- 12. 受け取ったfullcalendarイベントの設定終了日がエラーで失敗する
- 13. MySQLは一部の日付の日付形式を受け付けない
- 14. MySQLの日付関数がサブクエリを受け付けない
- 15. MySQLは、日付タイプの間違ったデータを受け入れます。
- 16. angularJs日付
- 17. 日付、Angularjs、WebAPI
- 18. AngularJSは日付が今日であれば表示、そうでなければ他のdivで表示
- 19. 1日前の日付をextjsフィールドで取得する方法
- 20. ローリングUTC日付上のファイルではなく、サーバの日付
- 21. 日付のオブジェクトが間違った日付と形式で保存される
- 22. Angularjs - フォーマットの日付(2016年1月13日)
- 23. date_selectの代わりにText_Fieldで日付を受け入れる
- 24. 実際の日付から2日遅れの日付を返すMomentjs
- 25. UIグリッド日付cellfilterに、日付の形式が間違った日付が
- 26. 日付が遅いSQLクエリ
- 27. タイムスタンプから日付を取得する:PHPで間違った日付
- 28. AngularJS Calendarは、選択した日付の1日前に選択します。
- 29. ソートフォーマットされた日付列が日付
- 30. 入力された日付のJSアラート2 <=日付1
あなたのサーバは 'GMT'で、あなたのdatetimeをそれに変換しているようです。時間が表示されていれば、それはちょうど '4:30'未満です – tanmay