convert mysql database datetime to local datetime转换数据库UTC时间

394 阅读1分钟

由于数据库经常存储的是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;
};

验证: www.timebie.com/std/utc.php