import dayjs from 'dayjs'
import i18n from "@/util/translate";
import {Language} from "@/module/menu";

/**
 * 获取指定时间到当前的时间的时间间隔
 * @param appointTime 指定时间
 */
export const dateForNow = function (appointTime: any) {
  const nowTime = Date.parse(new Date() + '') / 1000
  const time: number = nowTime - Number(appointTime)
  const zn = window.localStorage.getItem('language')
  if (time < 60) {
    return `1${zn === 'Chinese' ? '分钟前' : 'minutes ago'}`
  } else if (time < 3600) {
    return parseInt(time / 60 + '') + `${zn === 'Chinese' ? '分钟前' : 'minutes ago'}`
  } else if (time < 86400) {
    return parseInt(time / 3600 + '') + `${zn === 'Chinese' ? '小时前' : 'hours ago'}`
  } else if (time > 86400 && time < 2592000) {
    return parseInt(time / (24 * 3600) + '') + `${zn === 'Chinese' ? '天前' : 'days ago'}`
  } else {
    return `30${zn === 'Chinese' ? '天前' : 'days ago'}`
  }
}
/**
 * 获取秒级字符串
 * @param time
 */
export const getLongByTime = function (time: any) {
  return new Date(time).getTime() / 1000
}

/**
 * 获取当前的时间
 */
export const getNowTime = function () {
  return dayjs().format('YYYY-MM-DD HH:mm:ss')
}

/**
 * 获取几天前的时间
 * @param time
 * @param day
 */
export const getBeforeTime = function (time: any, day: number) {
  return dayjs(time).subtract(day, 'day').format('YYYY-MM-DD HH:mm:ss')
}

/**
 * 获取月份的第一天
 */
export const getFirstDayOfMonth = function (time: string) {
  return dayjs(time).startOf('month').format('YYYY-MM-DD HH:mm:ss')
}

/**
 * 获取月份的最后一天
 */
export const getLastDayOfMonth = function (time: string) {
  return dayjs(time).endOf('month').format('YYYY-MM-DD HH:mm:ss')
}

/**
 * 获取上一个月的时间
 */
export const getBeforeMonth = function (time: string) {
  return dayjs(time).subtract(1, 'month').format('YYYY-MM')
}
export const getBeforeMonth2 = function (time: string, m: number) {
  return dayjs(time).subtract(m, 'month')
}
/**
 * 获取指定时间的月份
 * @param time
 */
export const getMonthOfTime = function (time: string) {
  return dayjs(time).get('month')
}

/**
 * 根据时间戳返回时间
 */
export const getTimeByLong = function (data: number) {
  return dayjs(data).format('YYYY-MM-DD HH:mm:ss')
}
/**
 * 根据时间戳返回时间
 */
export const getTimeByLongByFormat = function (data: number, format: string) {
  return dayjs(data).format(format)
}

/**
 * 根据时间戳返回时间
 */
export const getTimeByLong2 = function (data: number) {
  return dayjs(data).format('YYYY-MM-DD HH:00:00')
}

export const getYMD = function (data: any) {
  return dayjs(data).format('YYYYMMDD')
}

export const getFullStrDate = function () {
  return dayjs().format('YYYYMMDDHHmmss')
}

export const formatDate = function (date: string, format: string) {
  return dayjs(date).format(format)
}
export const getTimeForLong = function (data: number, format: string) {
  return dayjs(data).format(format)
}
