You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

react-datetime-picker设置24小时制问题求助

解决react-datetime-picker强制24小时制显示的问题

针对你遇到的组件始终以12小时制显示时间的问题,可通过以下几个调整来修复:

1. 修正Locale格式

将locale="en_GB"改为locale="en-GB"——ECMAScript标准的locale代码使用短横线分隔,部分运行环境无法识别下划线格式,这会导致locale设置失效,组件 fallback 到默认的12小时制。

2. 显式设置is24Hour属性

虽然JSX中单独写is24Hour等价于is24Hour={true},但部分版本的组件需要显式赋值才能正确识别该配置,避免属性解析异常。

3. 确保value为有效Date对象

组件要求value必须是Date类型,如果values?.startDate是字符串或其他类型,组件无法正确解析时间格式,导致显示异常。建议添加类型校验,非Date类型时设为null。

4. 检查属性冲突(可选)

若同时设置format和timeFormat出现冲突,可尝试移除timeFormat,仅保留format来统一控制显示格式。

修改后的完整代码示例

import DateTimePicker from 'react-datetime-picker';

// ...

<DateTimePicker
  clearIcon={null}
  format="yyyy-MM-dd HH:mm"
  onChange={handleStartDateChanges}
  disableClock
  disableCalendar
  className="text-black"
  value={values?.startDate instanceof Date ? values.startDate : null}
  locale="en-GB"
  is24Hour={true}
/>

额外建议

如果上述调整仍无效,尝试升级组件到最新稳定版本,旧版本可能存在属性兼容bug:

npm update react-datetime-picker
# 或使用yarn
yarn upgrade react-datetime-picker

内容的提问来源于stack exchange,提问作者Jennifer De Goede

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 05:50:37