@@ -191,8 +191,12 @@ class DateRangePicker extends DatePicker {
191
191
}
192
192
this . valueState = ValueState . None ;
193
193
194
- this . _firstDateTimestamp = this . getFormat ( ) . parse ( dates [ 0 ] ) . getTime ( ) / 1000 ;
195
- this . _lastDateTimestamp = this . getFormat ( ) . parse ( dates [ 1 ] ) . getTime ( ) / 1000 ;
194
+ const firstDate = this . getFormat ( ) . parse ( dates [ 0 ] ) ;
195
+ const secondDate = this . getFormat ( ) . parse ( dates [ 1 ] ) ;
196
+
197
+ this . _firstDateTimestamp = Date . UTC ( firstDate . getFullYear ( ) , firstDate . getMonth ( ) , firstDate . getDate ( ) , firstDate . getHours ( ) ) / 1000 ;
198
+ this . _lastDateTimestamp = Date . UTC ( secondDate . getFullYear ( ) , secondDate . getMonth ( ) , secondDate . getDate ( ) , secondDate . getHours ( ) ) / 1000 ;
199
+
196
200
197
201
if ( this . _firstDateTimestamp > this . _lastDateTimestamp ) {
198
202
const temp = this . _firstDateTimestamp ;
@@ -325,8 +329,7 @@ class DateRangePicker extends DatePicker {
325
329
326
330
dateIntervalArrayBuilder ( firstTimestamp , lastTimestamp ) {
327
331
const datesTimestamps = [ ] ,
328
- jsDate = new Date ( firstTimestamp ) ,
329
- tempCalendarDate = new CalendarDate ( jsDate . getFullYear ( ) , jsDate . getMonth ( ) , jsDate . getDate ( ) ) ;
332
+ tempCalendarDate = CalendarDate . fromTimestamp ( firstTimestamp ) ;
330
333
331
334
while ( tempCalendarDate . valueOf ( ) < lastTimestamp ) {
332
335
datesTimestamps . push ( tempCalendarDate . valueOf ( ) / 1000 ) ;
@@ -340,7 +343,6 @@ class DateRangePicker extends DatePicker {
340
343
341
344
_handleCalendarChange ( event ) {
342
345
const newValue = event . detail . dates && event . detail . dates [ 0 ] ;
343
-
344
346
this . _oneTimeStampSelected = false ;
345
347
if ( this . isFirstDatePick ) {
346
348
this . isFirstDatePick = false ;
@@ -373,7 +375,7 @@ class DateRangePicker extends DatePicker {
373
375
this . _cleanHoveredAttributeFromVisibleItems ( ) ;
374
376
375
377
this . _calendar . timestamp = this . _firstDateTimestamp ;
376
- this . _calendar . selectedDates = this . dateIntervalArrayBuilder ( this . _firstDateTimestamp , this . _lastDateTimestamp ) ;
378
+ this . _calendar . selectedDates = this . dateIntervalArrayBuilder ( this . _firstDateTimestamp * 1000 , this . _lastDateTimestamp * 1000 ) ;
377
379
this . _focusInputAfterClose = true ;
378
380
379
381
if ( this . isInValidRange ( this . value ) ) {
@@ -408,8 +410,10 @@ class DateRangePicker extends DatePicker {
408
410
let value = "" ;
409
411
const delimiter = this . delimiter ,
410
412
format = this . getFormat ( ) ,
411
- firstDateString = format . format ( new Date ( firstDateValue * 1000 ) ) ,
412
- lastDateString = format . format ( new Date ( lastDateValue * 1000 ) ) ;
413
+ firstDate = new Date ( firstDateValue * 1000 ) ,
414
+ lastDate = new Date ( lastDateValue * 1000 ) ,
415
+ firstDateString = format . format ( new Date ( firstDate . getUTCFullYear ( ) , firstDate . getUTCMonth ( ) , firstDate . getUTCDate ( ) , firstDate . getUTCHours ( ) ) ) ,
416
+ lastDateString = format . format ( new Date ( lastDate . getUTCFullYear ( ) , lastDate . getUTCMonth ( ) , lastDate . getUTCDate ( ) , lastDate . getUTCHours ( ) ) ) ;
413
417
414
418
if ( firstDateValue ) {
415
419
if ( delimiter && delimiter !== "" && lastDateString ) {
0 commit comments