Skip to content

Commit 1151772

Browse files
committed
fix: Wrong default time in time-picker mode when using timezone (fixes #880)
1 parent 1b27d6f commit 1151772

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/VueDatePicker/components/TimePicker/time-picker.ts

+7-3
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,11 @@ import { getDate, getTimeObj } from '@/utils/date-utils';
77

88
import type { PickerBasePropsType } from '@/props';
99
import type { TimeModel, VueEmit } from '@/interfaces';
10+
import { localToTz } from '@/utils/timezone';
1011

1112
export const useTimePicker = (props: PickerBasePropsType, emit: VueEmit) => {
1213
const { modelValue, time } = useModel(props, emit);
13-
const { defaultedStartTime, defaultedRange } = useDefaults(props);
14+
const { defaultedStartTime, defaultedRange, defaultedTz } = useDefaults(props);
1415
const { updateTimeValues, getSetDateTime, setTime, assignStartTime, disabledTimesConfig, validateTime } =
1516
useTimePickerUtils(props, time, modelValue, updateFlowStep);
1617

@@ -39,9 +40,12 @@ export const useTimePicker = (props: PickerBasePropsType, emit: VueEmit) => {
3940
const assignEmptyModel = () => {
4041
if (defaultedRange.value.enabled) {
4142
const [firstStartTime, secondStartTime] = getDateFromStartTime() as Date[];
42-
modelValue.value = [getSetDateTime(firstStartTime, 0), getSetDateTime(secondStartTime, 1)];
43+
modelValue.value = [
44+
localToTz(getSetDateTime(firstStartTime, 0), defaultedTz.value.timezone),
45+
localToTz(getSetDateTime(secondStartTime, 1), defaultedTz.value.timezone),
46+
];
4347
} else {
44-
modelValue.value = getSetDateTime(getDateFromStartTime() as Date);
48+
modelValue.value = localToTz(getSetDateTime(getDateFromStartTime() as Date), defaultedTz.value.timezone);
4549
}
4650
};
4751

0 commit comments

Comments
 (0)