js使用 new Dateformat 的时候 苹果比安卓少八个小时给出解决方案
这是因为苹果设备的默认时区可能与你所在的时区不同,导致显示的时间不正确。可以使用以下代码来解决这个问题:
// 获取本地时间
var date = new Date();
// 获取本地时间与 UTC 时间的时间差(单位为分钟)
var offset = date.getTimezoneOffset();
// 将时间差转换为毫秒数
offset = offset * 60 * 1000;
// 计算出本地时间的 UTC 时间
var utcTime = date.getTime() + offset;
// 创建新的 Date 对象,使用 UTC 时间作为参数
var localTime = new Date(utcTime);
// 格式化本地时间
var formattedDate = localTime.getFullYear() + "-" + (localTime.getMonth() + 1) + "-" + localTime.getDate() + " " + localTime.getHours() + ":" + localTime.getMinutes() + ":" + localTime.getSeconds();
console.log(formattedDate);
这段代码会获取本地时间,并计算出本地时间与 UTC 时间的时间差,然后将时间差转换为毫秒数。接着,使用本地时间加上时间差,计算出本地时间的 UTC 时间,并创建一个新的 Date 对象,使用 UTC 时间作为参数。最后,使用新的 Date 对象来格式化本地时间,并输出结果。这样就可以在不同的设备上正确显示时间了
原文地址: https://www.cveoy.top/t/topic/emFj 著作权归作者所有。请勿转载和采集!