antd DatePicker选择今天的时候多了8个小时

探讨了在使用Ant Design的DatePicker组件时,选择“今天”或“此刻”时间出现8小时偏移的问题。通过对比两种不同的moment.js格式化方法,发现一种可以正确展示时间,揭示了日期时间处理的细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

antd DatePicker选择今天或者此刻的时候多了8个小时

antd DatePicker当选择今天或者此刻的时候显示是正常的

在这里插入图片描述
但是当我用form.getFieldsValue()获取时间时 显示多了8个小时
在这里插入图片描述
接下来进行了格式转换
第一种 moment( data[key]._d).format(‘YYYY-MM-DD HH:mm’)//2019-05-15 21:12
第二种 data[key].format(‘YYYY-MM-DD HH:mm’) //2019-05-15 13:12

第二种可以获得正确的时间
参考https://github.com/ant-design/ant-design/issues/6236

### Ant Design DatePicker 组件选择时分秒 为了使 `DatePicker` 组件能够选择具体的小时、分钟和秒钟,在配置该组件时需指定其显示模式为带有时间的选择器。通过设置 `showTime` 属性可以开启这一功能,并允许进一步定制时间选择的行为。 对于希望集成时分秒选择到日期选取中的场景,下面给出了一段基于 React 的代码片段来展示如何实现这一点: ```jsx import { DatePicker } from 'antd'; import moment from 'moment'; const { RangePicker } = DatePicker; // 定义禁用未来日期的方法 const disabledDate = (current) => { return current && current > moment().endOf('day'); } // 使用 showTime 配置项启用时间选择并自定义格式化字符串 <RangePicker format="YYYY-MM-DD HH:mm:ss" showTime={{ defaultValue: moment('00:00:00', 'HH:mm:ss') }} disabledDate={disabledDate} /> ``` 上述代码不仅启用了对时间和日期的同时选择,还设置了默认的时间值为午夜零点整[^1]。此外,通过传递给 `showTime` 选项一个对象参数,还可以更细致地控制时间部分的表现形式以及初始状态。 当涉及到 Vue 版本的 ant-design-vue 库时,类似的逻辑同样适用。这里提供了一个简单的例子用于说明怎样在 Vue 中应用相同的功能: ```vue <template> <a-range-picker v-model="dateValue" :format="'YYYY-MM-DD HH:mm:ss'" :show-time="{ defaultValue: moment('00:00:00', 'HH:mm:ss') }" :disabled-date="disabledDate" /> </template> <script> export default { data() { return { dateValue: null, }; }, methods: { disabledDate(current) { return current && current > moment().endOf('day'); } } }; </script> ``` 这段代码展示了如何利用 `v-model` 双向绑定选中的日期范围至组件的状态变量上,同时也实现了对未来日期的选择限制[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值