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

如何在DateTime中格式化输出hhhmm(如12h35)格式的时间?

intl 包的 DateFormat 中,h 是12小时制小时的专属占位符,连续书写多个 h 会被识别为「输出对应位数、不足补前导零的小时值」,所以你写 hhhmm 时,三个 h 会被解析为输出三位补零的12小时制小时,2:50pm 对应的12小时制小时值是2,补零到三位就是 002,后面拼接两位分钟 50,自然就得到了你看到的 00250 结果,其中的 h 不会被当作普通字符直接输出。

如果要在时间格式串中插入普通文本,只需要用单引号把不需要被解析为占位符的字符包裹起来即可,你要的效果可以直接用如下写法实现:

DateTime currentTime = DateTime.now(); // 示例值为14:50(2:50pm)
// 小时补前导零,输出类似 02h50
print(DateFormat("hh'h'mm").format(currentTime));

// 小时不补前导零,输出类似 2h50
print(DateFormat("h'h'mm").format(currentTime));

无需手动拼接两次格式化结果,直接通过单个格式串就能实现需求。

内容的提问来源于stack exchange,提问作者Balaji

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 15:06:04