Javascript .toLocaleString() 不遵守 '2-digit'

标签 javascript datetime

原始问题:
如何让小时/月遵守“2 位”格式。

const event = new Date(2012, 3, 20, 3, 0, 0);

编辑...
抱歉,我不经常使用这个

真正的问题取决于您使用的 chrome 版本,它以不同的方式尊重这种格式:

例如:
new Date(1561984526000).toLocaleString("ja-JP", {hour: "2-digit"})
// Chrome 80 (and other releases): "08時"
// Chrome 79: "8時"

enter image description here

最佳答案

主要问题是您正在传递 options在第一个参数中,它用于语言环境字符串。 options属于第二个参数。

如果您希望结果中包含其他字段(年、日、分钟),还需要包括它们。

const event = new Date(2012, 3, 20, 3, 0, 0);
console.log(event.toLocaleString('en-US', { 
    year: 'numeric',
    month: '2-digit',
    day: '2-digit',
    hour: '2-digit',
    minute: '2-digit' }
));


您可以通过undefined如果您希望它使用用户的当前语言环境,请在第一个参数中。

const event = new Date(2012, 3, 20, 3, 0, 0);
console.log(event.toLocaleString(undefined, { 
    year: 'numeric',
    month: '2-digit',
    day: '2-digit',
    hour: '2-digit',
    minute: '2-digit' }
));

关于Javascript .toLocaleString() 不遵守 '2-digit',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60230961/

相关文章:

MongoDB - 在几小时的时间范围内查询

javascript - 以编程方式检查网站是否被 ISP 阻止

javascript - Fat-Free 框架 + JQuery AJAX GET = 无响应

javascript - 创建一个函数,查找有多少个素数,最多为给定整数

javascript - jquery 将元素从可排序列表拖放到另一个列表中仅用于分配(而不是移动)

python - sublimetext 中的 timedelta 不起作用

mysql - 仅从 Laravel 中的日期时间选择月份

Mysql查询混合日期时间和位置

javascript - 如何解析多个 Observable

python - MM/DD/YYYY 日期到变量转换 m、d 和 y