关于js时间运算时间总相差8小时,因为这里涉及到时区,只要转换Date,默认是 UTC时区,该时区与中国的时间相差8个小时,如果你的项目是在国内,最简单的方法直接加上8小时即可。
js代码:
/**
strTime 字符串时间
num 增加多少分钟,如果要减少时间负数即可。
*/
function addMinutes (strTime, num) {
if (strTime) {
let originalDate = new Date(strTime);
originalDate.setMinutes(originalDate.getMinutes() + num);
originalDate.setHours(originalDate.getHours() + 8);
return originalDate.toISOString().replace('T', ' ').substring(0, 19);
}
return '';
如果是查询mysql显示 相隔8小时,也是时区问题,最简单的方法需在连接字符串上增加指定时区参数(useTimezone=true&serverTimezone=GMT%2B8)如下:
url: jdbc:mysql://xx.xx.xx.xx:3306/dbname?timeZone=TMC&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useTimezone=true&serverTimezone=GMT%2B8w