ps:
最终采用了一楼推荐的momentjs进行转换,
希望帮到后来人,此坑完结.
mysql中存储的数据类型是datetime
select出来都是utc时间 格式如下:
2019-07-08T03:38:27.000Z
因为utc 2019-07-08T03:38:27.000Z格式不是北京时间且格式不是需要的,
所以取出我对数据进行了转换 ,转换方法如下:
function formatUTC(utc_datetime) {
// 转为正常的时间格式 年-月-日 时:分:秒
var T_pos = utc_datetime.indexOf('T');
var Z_pos = utc_datetime.indexOf('Z');
var year_month_day = utc_datetime.substr(0, T_pos);
var hour_minute_second = utc_datetime.substr(T_pos + 1, Z_pos - T_pos - 1);
var new_datetime = year_month_day + " " + hour_minute_second; // 2017-03-31 08:02:06
// 处理成为时间戳
timestamp = new Date(Date.parse(new_datetime));
timestamp = timestamp.getTime();
timestamp = timestamp / 1000;
// 增加8个小时,北京时间比utc时间多八个时区
var timestamp = timestamp + 8 * 60 * 60;
// 时间戳转为时间
var beijing_datetime = new Date(parseInt(timestamp) * 1000).toLocaleString().replace(/年|月/g, "-").replace(/日/g, " ");
return beijing_datetime;
}
本地开发环境后台返回前台得到的数据都是正确的格式 YYYY-MM-DD hh-mm-ss 如: 1999-10-10 08:30:10 ,字符串
但是,
项目上传到centOS服务器上之后,取出的时间都变成了 7/8/2019, 7:01:12 AM (字符串)
这并不是我想要的,排查原因,看到浏览器端得到的数据就已经是7/8/2019, 7:01:12 AM类型了,不是前端显示问题,
说明还是服务器除了问题,但是不知道哪里出了问题?为什么本地mac开发环境没有异常呢?
如果解决不了的话这种日期格式怎么转换,求指教!
ps:
最终采用了一楼推荐的momentjs进行转换,
希望帮到后来人,此坑完结.