背景:服务返回带时区的是ISO 8601时间:2020-01-01T21:30:03+08:00。此时需要将这个时间转换为客户端的时区时间

如何做:
1、获取当前时区
2、转换为utc时间,utc:世界协调时,以英国格林威治时间为准(零时区时间),utc时间和北京时间相差8小时;
3、使用 moment(time).utc()moment(utcTime).utcOffset()这两个方法

import moment from 'moment';
export const timeToCs = (time, fmt = '') => { 
    const offsetTimeZone = new Date().getTimezoneOffset() / -60;
    const utcTime = moment(time).utc().format('');
    return moment(utcTime).utcOffset(offsetTimeZone).format(fmt);
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.