我电脑上的时间在我的时区以毫秒为单位 1679287353711 ,(等于 04:42:33,711 我在 Excel 中这样计算:= (1679287353711/86400000) + DATE (1970; 1; 1)
我执行JS代码将这个时间转换成格式保存到TIME_FORMAT变量中,格式为:00:00:00,000
但它给出了: 02:42:33,711 而不是 04:42:33,711 如何在不调整答案的情况下更正错误:小时 + 2?
JS代码:
var TIME = 1679287353711;
var date = new Date(TIME);
var hours = date.getUTCHours() + (date.getTimezoneOffset() / 60);
if (hours < 10) {
hours = '0' + hours;
}
var minutes = date.getUTCMinutes();
if (minutes < 10) {
minutes = '0' + minutes;
}
var seconds = date.getUTCSeconds();
if (seconds < 10) {
seconds = '0' + seconds;
}
var milliseconds = date.getUTCMilliseconds();
if (milliseconds < 10) {
milliseconds = '00' + milliseconds;
} else if (milliseconds < 100) {
milliseconds = '0' + milliseconds;
}
TIME_FORMAT = hours + ':' + minutes + ':' + seconds + ',' + milliseconds;
console.log(TIME_FORMAT);
要获取您所在时区的时间,您需要使用该方法
getHours()而不是getUTCHours()