js对任何形式的时间进行格式化

代码如下:index.js

export function newDate (time) {
  let t=time
  if (!time) {
    return ''
  }
  var type = typeof time
  if (type === 'string' || type === 'number') {
    if (Number(time)) {
      time = new Date(Number(time))
    } else {
      time = new Date(time.replace(/-/g, '/').trim())
      if(!time.getDate()){
        time =new Date(t)
      }
    }
  }
  return time
}
//
export function format (date, fmt) { // date 可以是new Date 、可以是时间戳可以是字符串形式的时间,format(date,'yyyy-MM-dd hh:mm:ss')
  date = newDate(date)
  if (!date) {
    return ''
  }
  var o = {
    'M+': date.getMonth() + 1, // 月份
    'd+': date.getDate(), // 日
    'h+': date.getHours(), // 小时
    'm+': date.getMinutes(), // 分
    's+': date.getSeconds(), // 秒
    'q+': Math.floor((date.getMonth() + 3) / 3), // 季度
    'S': date.getMilliseconds() // 毫秒
  }
  if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
  for (var k in o) {
    if (new RegExp('(' + k + ')').test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
  }
  return fmt
}

使用方法

import {format} from './index'
let date=format(new Date(),'yyyy-MM-dd hh:mm:ss')
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。