这个问题在安卓8.0以下会出现
let date = new Date(); let hour = date.getHours(); let minute = date.getMinutes(); let second = date.getSeconds();
这个是之前的写法,在安卓8.0以上的手机上获取时间正常,低版本的安卓手机会少8个小时
var timezone = 8; //目标时区时间,东八区 var offset_GMT = new Date().getTimezoneOffset(); // 本地时间和格林威治的时间差,单位为分钟 var nowDate = new Date().getTime(); // 本地时间距 1970 年 1 月 1 日午夜(GMT 时间)之间的毫秒数 var targetDate = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000); let date = new Date(); let hour = targetDate.getHours(); let minute = targetDate.getMinutes(); let second = targetDate.getSeconds();
修改后可以解决这个问题