JavaScript日期格式化

1.代码:

function formatDateFn(timeStamp, format) {
  var date = '';
  if (typeof timeStamp === 'string' || typeof (timeStamp) === 'number') {
    date = new Date(parseInt(timeStamp));
  } else if (typeof (timeStamp) === 'object') {
    date = new Date(timeStamp);
  };
  var padNum = function (num) {
    num += '';
    return num.replace(/^(\d)$/, '0$1');
  };
  // 指定格式字符
  var cfg = {
    yyyy: date.getFullYear(), // 年 : 4位
    yy: date.getFullYear().toString().substring(2), // 年 : 2位
    M: date.getMonth() + 1, // 月 : 如果1位的时候不补0
    MM: padNum(date.getMonth() + 1), // 月 : 如果1位的时候补0
    d: date.getDate(), // 日 : 如果1位的时候不补0
    dd: padNum(date.getDate()), // 日 : 如果1位的时候补0
    hh: date.getHours(), // 时
    mm: date.getMinutes(), // 分
    ss: date.getSeconds() // 秒
  };
  format || (format = 'yyyy-MM-dd hh:mm:ss');
  return format.replace(/([a-z])(\1)*/ig, function (m) {
    return cfg[m];
  });
};

2.例子:

如果是在vue等webpack中引入
1.首先新建formatDate.js
2.将代码拷贝进去,但是注意要在函数的最前面写export,将函数输出
3.在vue文件中引用

import {formatDateFn} from '../../common/js/formatDate';

4.使用的时候使用filters方法

filters: {
    formatDate(time) {
      let date = new Date(time);
      return formatDateFn(date, 'yyyy-mm-dd hh:mm');
    }
  },
<div class="time">{{item.rateTime | formatDate}}</div>

3.silly-datetime插件

如果你想直接引用npm中的插件,那么推荐使用silly-datetime
https://www.npmjs.com/package/silly-datetime

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值