问题描述: 在Chrome浏览器中,使用intl.DateTimeFormat来格式化日期时,巴西的夏令时问题导致返回的UCT日期不正确。
解决方法: 以下是一种解决方法,使用toLocaleString()方法来获取正确的日期。
function formatDate(date) {
const options = {
year: 'numeric',
month: '2-digit',
day: '2-digit',
hour: '2-digit',
minute: '2-digit',
second: '2-digit',
timeZone: 'UTC',
hour12: false,
};
return date.toLocaleString('en-US', options);
}
const date = new Date();
const formattedDate = formatDate(date);
console.log(formattedDate);
这个方法中,我们创建了一个formatDate()函数,接收一个日期对象作为参数。我们定义了一个options对象,设置了所需的选项,包括时区为UTC。
然后,我们使用toLocaleString()方法,传递'en-US'作为语言参数和options作为选项参数。这将返回一个格式化后的日期字符串。
通过这种方式,我们可以确保获取到正确的UCT日期,而不受巴西夏令时问题的影响。
上一篇:把小数转化为带分数形式
下一篇:巴西地理编码不足