JavaScript日期格式转换

const isDate = obj => obj instanceof Date

export default function(oDate, sFormation) {
  if (!isDate(oDate)) {
    oDate = new Date(oDate)
  }
  if (!isDate(oDate)) {
    throw new Error('can not format first param to Date')
  }
  const obj = {
    yyyyyyyy:oDate.getFullYear(),
    yy:oDate.getFullYear(),
    MM:oDate.getMonth()+1,
    dd:oDate.getDate(),
    HH:oDate.getHours(),
    hh:oDate.getHours() % 12,
    mm:oDate.getMinutes(),
    ss:oDate.getSeconds(),
    ww:"星期"+['日', '一', '二', '三', '四', '五', '六'][oDate.getDay()]
  };
  return sFormation.replace(/([a-z]+)/ig, function($1) {
    return obj[$1+$1] || ('0'+obj[$1]).slice(-2);
  });
}

内容非原创,借鉴了牛客网某个题的回答,感觉这种思路比较优秀,也较为实用,但现在原文地址找不到了,对原作者表示抱歉!
使用示例:console.log(formatDate(new Date(),‘yyyy-MM-dd HH:mm:ss w’));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值