时间格式化

8 篇文章 0 订阅

时间格式化

在开发中经常会遇到格式化时间的问题,可以使用插件moment.js,也可自己封装适合自己项目的公用方法,下面以vue项目为例
新建一个公用方法文件,util.ts 在文件中使用如下代码

export function formatDate(date: any, fmt: any) {
  date = new Date(date)
  if (/(y+)/.test(fmt)) {
    fmt = fmt.replace(
      RegExp.$1,
      (date.getFullYear() + '').substr(4 - RegExp.$1.length)
    )
  }
  const o = {
    'M+': date.getMonth() + 1,
    'd+': date.getDate(),
    'h+': date.getHours(),
    'm+': date.getMinutes(),
    's+': date.getSeconds(),
  }
  for (const k in o) {
    if (new RegExp(`(${k})`).test(fmt)) {
      const str: any = (o as any)[k] + ''
      fmt = fmt.replace(
        RegExp.$1,
        RegExp.$1.length === 1 ? str : padLeftZero(str)
      )
    }
  }
  return fmt
}
function padLeftZero(str: any) {
  return ('00' + str).substr(str.length)
}

用起来比较方便
使用

import { formatDate } from '@/util'
export default Vue.extend({
  data() {
    return {}
  },
  created() {
    console.log(formatDate(new Date(), 'yyyy-MM-dd'))    // 2020-07-22
    console.log(formatDate(new Date(), 'yyyy/MM/dd'))   // 2020/07/22
    console.log(formatDate(new Date(), 'yyyy-MM'))    // 2020-07
    console.log(formatDate(new Date(), 'yyyy/MM'))   // 2020/07
    console.log(formatDate(new Date(), 'yyyy/MM/dd hh:mm:ss'))
    console.log(formatDate(new Date(), 'yyyy-MM-dd hh:mm:ss'))
    console.log(formatDate(毫秒, 'yyyy-MM-dd'))
    console.log(formatDate(毫秒, 'yyyy/MM/dd'))
    。。。。。。自由组合
  }
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值