JavaScript格式化时间24小时格式化为12小时

JavaScript formatting time 24hours format to 12hours

我在尝试将 24 小时格式的时间格式化为 12 小时格式时遇到了一些问题。以下是我的一些时间字符串格式的例子:

0:00, 9:00, 12:00, 15:00

我想知道我应该如何替换 JavaScript 中的前两个字符,因为其中有些是一位数,有些是两位数。输出时间格式应为 12 小时格式,如:

12:00AM, 9:00AM, 12:00PM, 3:00PM

有指导吗?提前致谢。

显而易见的答案是使用正则表达式(但请记住 AWZ 的规则:如果您遇到问题并决定可以使用 RE 解决它,那么您现在有两个问题)。

但是,为自己省去一大堆麻烦并获得 moment.js

在评论中,您阐明了您处理的每个字符串中只有一个时间(即,您处理的不是一个包含四个逗号分隔时间的字符串)。所以基本上你输入如下:

var input = "9:00";

提取小时和分钟的最简单方法是使用字符串 .split() method。这会在指定字符处拆分字符串 - 在您的情况下,您将使用 ":" - 和 returns 一个包含片段的数组:

var parts = input.split(":"),
    hour = parts[0],
    minute = parts[1];