import dayjs from "dayjs";
dayjs().format();
dayjs.locale("zh-cn"); // 使用本地化语言

/**
 * 聊天格式化毫秒
 */
export const chatFormatMillisecond = (value, format) => {
  //获取js 时间戳
  if (!value) return "";
  value = parseInt(value);
  const time = new Date().getTime();
  const date = Math.floor((time - value) / 1000);
  if (date <= 60) {
    return "刚刚";
  } else if (60 < date && date <= 60 * 60) {
    return Math.floor(date / 60) + "分钟前";
  } else if (60 * 60 < date && date <= 60 * 60 * 24) {
    return Math.floor(date / 3600) + "小时前";
  } else if (60 * 60 * 24 < date && date <= 60 * 60 * 48) {
    return dayjs(value).format("[昨天] HH:mm:ss");
  } else if (dayjs(value).year() == dayjs().year()) {
    return dayjs().format("MM-DD HH:mm:ss");
  } else {
    return dayjs(value).format(`${format} HH:mm:ss`);
  }
};

/**
 * dayjs的进一步配置
 * @param val 时间撮等值
 * @param format 格式花
 */
export const formatMoment = (val, format) => {
  if (!val) return "";
  val =
    Object.prototype.toString.call(val) === "[object String]" ? val * 1 : val;
  //如果format为MM月DD日,今年的话显示MM月DD日，往年的话需要加上年份
  const current_year = dayjs().year();
  const format_year = dayjs(val).year();
  if (
    ["MM-DD", "MM-DD HH:mm:ss"].includes(format) &&
    current_year !== format_year
  ) {
    return dayjs(val).format(`YYYY-${format}`);
  } else {
    return dayjs(val).format(format);
  }
};
