如何在JavaScript中将HHMM格式时间转换为xam/xpm格式
问题原因
你之前的代码存在两个问题:
- 输入的时间是24小时制的
HHMM格式,你用hh作为解析格式会识别错误,hh是12小时制的小时解析规则,应该用HHmm作为解析格式才能正确识别输入内容。 LT是moment内置的带分钟、空格、大写AM/PM的本地化时间格式,不符合你要的无分钟、无空格、小写am/pm的输出要求。
正确实现
直接使用自定义格式符拼接即可:
// 核心写法 moment("你的HHMM格式字符串", "HHmm").format('ha')
测试示例
moment("1700", "HHmm").format('ha')=> 输出5pmmoment("0900", "HHmm").format('ha')=> 输出9ammoment("1500", "HHmm").format('ha')=> 输出3pm- 边界场景:
moment("0000", "HHmm").format('ha')=> 输出12am,moment("1200", "HHmm").format('ha')=> 输出12pm,符合常规12小时制表述规则。
格式符说明
HHmm:解析规则,代表输入内容是24小时制小时+分钟的组合h:输出不带前导零的12小时制小时a:输出小写的am/pm标识
内容的提问来源于stack exchange,提问作者SDK
相关产品推荐
相关产品推荐

