2016-05-10 13 views
0

日付フィールドにjquery datepickerを使用しています。 HTML:Jqueryのsetdateは、実際に選択された日付よりも小さい日付を設定します。

<input class="timepicker" name="timepicker" id="from-datepicker"/> 

は今、私のように日付を設定しています:

var dateToSet = 2016-05-20; 
$('#from-datepicker').datepicker("setDate", new Date(dateToSet)); 

ただし、設定された値ではなく、20日の2016年5月19日です。

誰も私になぜこれが起こっているのか教えてもらえますか? ありがとうございました。

答えて

2

あなたのタイムゾーンの問題だと思います。 日付の設定中に、タイムゾーンのオフセットを追加する必要があります。

あなたのタイムゾーンはUTC-05である、のは、言ってみましょう:最初の日付ピッカーから値を取得して、オフセットを追加することでこれを行うには00

var actual_date = new Date(new Date(url_from_date).getTime() + 5 * 3600 * 1000); 
$('#from-datepicker').datepicker("setDate", actual_date); 

他の方法。

var date = $('#from-datepicker').datepicker('getDate'); 
date.setMinutes(date.getMinutes() - date.getTimezoneOffset()); 
+1

私はタイムゾーンをハードコーディングすることもできました。 'var date = new Date( '2016-05-20 EST'); datepickerの' setDate'オプションの日付としてそれを使用すると、5/19の代わりに5/20が表示されます(私はESTにあります)。 –

+1

私が示唆したように試してみましたか?私はコンソールで日付のスニペットを試しました、それはタイムゾーンを追加しません、私はまだ日付ストリングの 'EST'を忠実に受け入れています –

+1

私はあなたが提案した私はその質問をしなかったので、それは本当に重要ではありません。私はちょうどあなたの答えに貢献していた。ここで私のために働いている例があります:https://jsfiddle.net/h2Ljpkmb/また、私はESTにいるので、あなたの所在地によって異なるかもしれません。 –

関連する問題