Skip to content

Commit 0576c01

Browse files
committed
Fix min/max dates when picker zone isn't UTC
1 parent 1a7f907 commit 0576c01

File tree

2 files changed

+8
-14
lines changed

2 files changed

+8
-14
lines changed

src/DatetimePopup.vue

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@
99
<datetime-year-picker
1010
v-if="step === 'year'"
1111
@change="onChangeYear"
12-
:min-date="minDatetimeUTC"
13-
:max-date="maxDatetimeUTC"
12+
:min-date="minDatetime"
13+
:max-date="maxDatetime"
1414
:year="year"></datetime-year-picker>
1515
<datetime-month-picker
1616
v-if="step === 'month'"
1717
@change="onChangeMonth"
18-
:min-date="minDatetimeUTC"
19-
:max-date="maxDatetimeUTC"
18+
:min-date="minDatetime"
19+
:max-date="maxDatetime"
2020
:year="year"
2121
:month="month"></datetime-month-picker>
2222
<datetime-calendar
@@ -25,8 +25,8 @@
2525
:year="year"
2626
:month="month"
2727
:day="day"
28-
:min-date="minDatetimeUTC"
29-
:max-date="maxDatetimeUTC"
28+
:min-date="minDatetime"
29+
:max-date="maxDatetime"
3030
:week-start="weekStart"
3131
></datetime-calendar>
3232
<datetime-time-picker
@@ -168,12 +168,6 @@ export default {
168168
day: 'numeric'
169169
})
170170
},
171-
minDatetimeUTC () {
172-
return this.minDatetime ? this.minDatetime.toUTC() : null
173-
},
174-
maxDatetimeUTC () {
175-
return this.maxDatetime ? this.maxDatetime.toUTC() : null
176-
},
177171
minTime () {
178172
return (
179173
this.minDatetime &&

src/util.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ export function monthDays (year, month, weekStart) {
3232
export function monthDayIsDisabled (minDate, maxDate, year, month, day) {
3333
const date = DateTime.fromObject({ year, month, day, zone: 'UTC' })
3434

35-
minDate = minDate ? startOfDay(minDate) : null
36-
maxDate = maxDate ? startOfDay(maxDate) : null
35+
minDate = minDate ? startOfDay(minDate.setZone('UTC', { keepLocalTime: true })) : null
36+
maxDate = maxDate ? startOfDay(maxDate.setZone('UTC', { keepLocalTime: true })) : null
3737

3838
return (minDate && date < minDate) ||
3939
(maxDate && date > maxDate)

0 commit comments

Comments
 (0)