Intl.DateTimeFormat返回超过24小时
我有以下Unix时间戳:1611328500000(Fri 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));