PrimeVue日历组件选中日期显示为前一天问题求助
PrimeVue Calendar选中日期显示前一天的解决办法
这个问题大多是时区差异导致的:PrimeVue Calendar默认会把日期转成UTC格式存储,如果你所在时区比UTC晚(比如东八区),就会出现选中的本地日期转成UTC后变成前一天的情况。
试试这些解决方法:
- 给Calendar组件加上
:utc="false"属性,强制组件使用本地时区处理日期,修改后的代码:<Calendar v-model="selectedDate" showIcon dateFormat="yy-mm-dd" :utc="false" /> - 如果上述方法无效,手动修正日期偏移:可以用日期处理库(比如dayjs)把UTC时间转回本地时间,示例代码:
// 假设selectedDate是组件绑定的UTC日期对象 import dayjs from 'dayjs' const correctDate = dayjs(selectedDate).local().format('YYYY-MM-DD') - 检查项目中是否有全局的日期处理逻辑,比如统一把日期转成UTC的工具函数,这类逻辑可能会修改绑定的
selectedDate值。
内容的提问来源于stack exchange,提问作者ajmirani
相关产品推荐
相关产品推荐

