"timezone": "UTC+0800" 这是正确的配置.但是要生效还是要修改不少类库代码.而且返回的日期类型还是0000-00-00T00:00:00Z这种.前端转化日期仍然不对.所以换了一个方式来修改.
1.配置数据库
loopback-connector-mysql库中找到mysql.js,配置数据库时加入代码dateStrings: true
options = {
host: s.host || s.hostname || 'localhost',
port: s.port || 3306,
user: s.username || s.user,
password: s.password,
timezone: s.timezone,
socketPath: s.socketPath,
charset: s.collation.toUpperCase(), // Correct by docs despite seeming odd.
supportBigNumbers: s.supportBigNumbers,
connectionLimit: s.connectionLimit,
dateStrings: true
};
2.修改直接返回日期,不做UTC格式化
仍然是mysql.js,toColumnValue和fromColumnValue方法中日期格式直接返回
3.修改loopback的access-token日期格式验证
loopback库中,access-token.js修改validate方法,转换返回的字符串格式化成日期