天天看點

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進行轉換,

希望幫到後來人,此坑完結.