由于数据库经常存储的是UTC时间,需要展示到前端的是本地时间,比如:
数据库-》 2020-02-28T03:04:35.877Z
其中的T和Z是什么鬼?
如下可以转换:
export const convertMysqlUTC = (utcDate, timeZone = "Asia/Shanghai") => {
//America/Los_Angeles America/New_York
utcDate = utcDate.replace('T', ' ').replace('Z',' ');
let date1 = new Date(`${utcDate} UTC`);
let asiaTimeStr = date1.toLocaleString("en-US", { timeZone });
//"9/20/2019, 6:31:03 PM"
const asiaTime = new Date(asiaTimeStr);
//Fri Sep 20 2019 18:31:03 GMT+0800 (China Standard Time)
return asiaTimeStr;
};