typescript 比较两个日期的差异天数

383 阅读1分钟

typescript 比较两个日期的差异天数

计算两个日期类型数据的天数差异

  const expirationPrompts = (expirationTime: string) => {
    // 7天到期提示
    let expiration = new Date(expirationTime);
    let currentDate = new Date();
    const diffDate = Math.floor((Date.UTC(expiration.getFullYear(), expiration.getMonth(), expiration.getDate()) - Date.UTC(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate())) / (1000 * 60 * 60 * 24));
    if (diffDate <= 7) {
      message.warn(`产品认证将于 ${dateTimeStr(expiration)} 到期`);
    }
  }

格式化时间格式

  • 将日期转换为为 yyyy-MM-DD HH:mm:ss 的字符串格式

  /**
   * 将时间类型数据转换为 yyyy-MM-DD HH:mm:ss 的字符串格式
   * @param date 
   * @returns 
   */
  static dateTimeStr(date: Date) {
    try {
      if (!date) {
        date = new Date();
      }
      return `${date.getFullYear()}-${this.paddingZero(date.getMonth() + 1)}-${this.paddingZero(date.getDate())} ${this.paddingZero(date.getHours())}:${this.paddingZero(date.getMinutes())}:${this.paddingZero(date.getSeconds())}`;

    } catch (error) {
      console.log(error);
      return '';
    }
  }

  /**
   * 月份和天数补0
   * @param num 
   * @returns 
   */
  static paddingZero(num: number) {
    if (num < 10) {
      return `0${num}`;
    } else {
      return `${num}`;
    }
  }