javascript - toLocaleDateString 返回意外的格式化时间

标签 javascript ecmascript-6

以下调用返回 24:00在最新的 Chrome 和 Opera 中,而之前返回 00:00 ,这是设计行为吗?

const [, time] = new Date(2020, 1, 1, 0, 0).toLocaleDateString("en-us",
        {
            hour12: false,
            hour: "2-digit",
            minute: "2-digit"
        }).split(", ");

console.info(time); // 24:00

最佳答案

使用hourCycle而不是 hour12并将其设置为 h23 .

const [, time] = new Date(2020, 1, 1, 0, 0).toLocaleDateString("en-us",
        {
            hourCycle: "h23",
            hour: "2-digit",
            minute: "2-digit"
        }).split(", ");

console.info(time); // 00:00

关于javascript - toLocaleDateString 返回意外的格式化时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60655166/

相关文章:

javascript - 如何使用 ng-boilerplate 包含 CDN 托管的库?

Javascript Integer Division,或者 Math.floor(x) 等同于 x | 0 表示 x >= 0?

javascript - 得到以下错误 : RGB. js :16 Uncaught TypeError: Cannot read property 'add' of undefined at HTMLButtonElement. <anonymous> (RGB.js:16)

javascript - 类中的箭头函数

javascript - ES6 Yield* - 在引用的生成器上一次只产生一个值?

javascript - let 语句是否在全局对象上创建属性?

javascript - 错误类型错误 : Cannot read property X of undefined

javascript - 通过数组映射

javascript - 这个生成器如何返回 3?

javascript - Immutable.js 是如何省略 new 关键字的?