天天看点

js日期格式mysql_mysql中取出的时间格式不正确

ps:

最终采用了一楼推荐的momentjs进行转换,

希望帮到后来人,此坑完结.

mysql中存储的数据类型是datetime

js日期格式mysql_mysql中取出的时间格式不正确

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进行转换,

希望帮到后来人,此坑完结.