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

如何修改React-Redux项目中time类型输入框的时间格式为12小时制

实现方案

HTML5 type="time" 输入框的返回值固定为HH:mm格式的24小时制字符串,你只需要新增一个时间格式化工具函数,把原始24小时制字符串转换为12小时制格式即可。

具体实现步骤

  • 新增时间格式化函数
const formatTo12Hour = (timeStr) => {
  if (!timeStr) return ''
  // 拆分小时和分钟
  const [hour, minute] = timeStr.split(':').map(Number)
  // 判断AM/PM标识
  const period = hour >= 12 ? 'PM' : 'AM'
  // 换算12小时制的小时数
  const displayHour = hour % 12 || 12
  // 补零处理分钟,返回最终格式
  return `${displayHour}:${minute.toString().padStart(2, '0')} ${period}`
}
  • 在渲染阶段调用格式化函数
    你原有的输入框逻辑不需要修改,仅调整渲染时间的部分即可:
state = {
    time: ''
}
render = () => {
    return (
      <span>{formatTo12Hour(this.state.time)}</span>
    )
}

效果说明

如果用户选中的时间为14:30,最终会展示为2:30 PM;如果选中时间为00:05,最终会展示为12:05 AM,完全符合12小时制的展示习惯。

内容的提问来源于stack exchange,提问作者Qatr El-Nada

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 07:48:04