如何使用AM / PM获得正确的小时输出:toLocaleString(“ en-US”)的“ 2位数”?

时间:2019-05-05 00:58:26

标签: javascript date date-formatting hour

根据toLocaleString() MDN Documentation,选项hour: "2-digit"应该返回2位数的小时表示形式,但是如果语言环境是 en-US 并且语言环境为[strong],则仅返回1位数。格式为 AM / PM 。 (更新:提到AM / PM)

let d = new Date("2019-05-03 15:00:00").toLocaleString("en-US", {hour: "2-digit", minute: "2-digit"});
console.log(d);

是否有一种变通方法或另一种简便的方法来获取美国语言环境的两位数小时,显示AM和PM?

1 个答案:

答案 0 :(得分:0)

您只需要在选项中明确禁用12小时制:

    let d = new Date("2019-05-03 15:00:00").toLocaleString("en-US", {hour: "2-digit", minute: "2-digit", hour12: false});
    console.log(d);

2位数参数可能与填充有关,但是我认为这不是绝对必要的。我会考虑将其删除。

    let d = new Date("2019-05-03 15:00:00").toLocaleString("en-US", {hour12: false});
    console.log(d);