import dayjs from 'dayjs';
import utc from 'dayjs/plugin/utc';
import tz from 'dayjs/plugin/timezone';
import { getInfo, ICP_CONFIG } from '@/utils/commMethods';

dayjs.extend(utc);
dayjs.extend(tz);

// 时区
const timeZone = (tzVal = 0) => {
  // 代表得是零时区
  if (tzVal === 0) return 'Etc/GMT';
  // Etc/GMT-8: 代表得是东八区
  if (tzVal > 0) return 'Etc/GMT-' + tzVal;
  // Math.abs将负数变成正数
  return 'Etc/GMT+' + Math.abs(tzVal);
};

// 获取0时区的时间
export const getTimeZone0String = dateString => {
  return dayjs
    .tz(dateString, timeZone(Number(getInfo(ICP_CONFIG).TIME_ZONE)))
    .utc()
    .tz(timeZone(0))
    .format('YYYY-MM-DD HH:mm:ss');
};

// 获取当前时区的时间
export const getTimeZoneString = (dateString, format) => {
  return dayjs
    .tz(dateString, timeZone(Number(getInfo(ICP_CONFIG).TIME_ZONE)))
    .format(format || 'YYYY-MM-DD HH:mm:ss');
};
