これは初めての結果です。なぜ新しい日付今日は今日昨日返す
私はTelerikコントロールRadDatePickerを使用しており、クライアント側の日付を割り当てています。
事はコントロールではJavaScript
に、日付などの文字列が、Dateオブジェクトを受け入れないということですので、コントロールで日付を設定するには、私のコードは
var radDateControl = $find("radDateControl");
radDateControl.set_selectedDate(new Date('2016-04-26'));
である。しかし、私は、新しい日付が昨日と同じ日付を返すことに気づいた!どうして?
午後5時58分東部時間(米国&カナダ)です。私はこの
alert(new Date('2016-04-26'));
をすれば、私はこの
Mon Apr 25 2016 20:00:00 GMT-0400 (Eastern Daylight Time)
を取得なぜ、どのように私は、今日のよう毎日取得することができます。私は最終的にそれがこれをしなかった何
更新
。それが他人を助けることができることを願って
var dateAsString = "2016-04-26";
var year = dateAsString.split('-')[0];
var month = dateAsString.split('-')[1];
var day = dateAsString.split('-')[2];
var date = new Date(Date.UTC(year, month - 1, day, 0,0,0));
date.setTime(date.getTime() + date.getTimezoneOffset() * 60 * 1000);
rpdDateControl.set_selectedDate(date);
その日付は、真夜中のUTCの日付として解析されているため、なぜ東部時間のあなたのタイムゾーンで "昨日"あなたがUTCよりも4時間遅れている(DSTが指定されている)。 – ManoDestra
var utcDate = new Date(Date.UTC(2016,4,26,0,0,0))のように、ローカル時刻の代わりに世界時を使用できます。 –
まだタイムゾーンでDateオブジェクトを取得しています!これはChromeのコンソールからのものです:新しい日付(Date.UTC(2016,04,26,0,0,0)) 水曜日5月25日2016 20:00:00 GMT-0400(東部夏時間) –