7.获取日期格式

方法如下:

/**

 * 获取日期格式

 */

export function getDate(date: string | undefined | Date | number, format = 'Y-M-D h:m:s'): string {

  if ((typeof date === 'string' && date.indexOf('T') > -1) || (typeof date === 'number' && date.toString().length === 13)) {

    date = new Date(date)

  }

  if (!isDate(date) && typeof date !== 'object') {

    return ''

  }

  let obj: any = {}

  if (typeof date === 'object' && date.toString() !== '[object Object]') {

    const [Y, M, D, h, m, s] = [date.getFullYear(), date.getMonth() + 1, date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()]

    obj = { Y, M, D, h, m, s }

  } else {

    const [t1, t2] = (date as string).split(' ')

    const [Y, M, D] = t1.split('-')

    const [h, m, s] = t2 ? t2.split(':') : '0:0:0'

    obj = { Y, M, D, h, m, s }

  }

  const reg = /Y|M|D|h|m|s/g

  return format.replace(reg, rs => obj[rs].toString().padStart(2, '0'))

}

其中 上述使用到的isDate 为:

/**

 * 是否日期

 */

export function isDate(str: any): boolean {

  return /^\d{4}(-\d{1,2}){2}( \d{1,2}(:\d{1,2}){2})?$/.test(str)

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容