Intl.DateTimeFormat返回超过24小时

我有以下Unix时间戳:1611328500000Fri Jan 22 2021 10:15:00 GMT-0500 (Eastern Standard Time))。

我需要以韩国标准时间显示它。为此,我正在使用Intl.DateTimeFormat. 但是,由于某种原因,当我尝试对其进行格式化时,我得到的结果是24:15。除非我有妄想症,否则我很确定这高于通常的 24 小时制(0:00 到 23:59)。

Google 告诉我我的结果应该是0:15,显然是在接下来的日期(1 月 22 日星期六)。

这是一个最小的工作示例:

const date = new Date(1611328500000);

const timeOptions = {
  hour12: false,
  hour: '2-digit',
  minute: '2-digit'
};

const formatter = new Intl.DateTimeFormat('en-US', {
  timeZone: 'Asia/Seoul', ...timeOptions
});

console.log(formatter.format(date));

回答

hour12: true切换hourCycle: 'h23'到 显示从00:00到的小时数23:59

const date = new Date(1611328500000);

const timeOptions = {
  hourCycle: 'h23',
  hour: '2-digit',
  minute: '2-digit'
};

const formatter = new Intl.DateTimeFormat('en-US', {
  timeZone: 'Asia/Seoul', ...timeOptions
});

console.log(formatter.format(date));


以上是Intl.DateTimeFormat返回超过24小时的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>