new Date()格式化

//js的new Date()返回的是中国标准时间:
console.log('newDate', new Date());
//输入:
newDate Sat Oct 30 2021 13:34:46 GMT+0800 (中国标准时间)

格式化new Date()返回的中国标准时间:
定义方法formatDate

export function formatDate(time, cFormat = null) {
  const format = cFormat || '{y}-{m}-{d}';
  const date = new Date(time);
  const formatObj = {
    //年
    y: date.getFullYear(),
    //月
    m: date.getMonth() + 1,
    //日
    d: date.getDate(),
    //小时
    h: date.getHours(),
    //分钟
    i: date.getMinutes(),
    //秒
    s: date.getSeconds(),
    //星期
    a: date.getDay()
    
  };
  const time_str = format.replace(/{([ymdhisa])+}/g, (result, key) => {
    const value = formatObj[key];
    // Note: getDay() returns 0 on Sunday
    if (key === 'a') {
      //如果key是a,就是星期,格式化成一~日
      //例如formatDate(new Date(), '{y}-{m}-{d}-{h}-{i}-{s}-{a}');
      //会输出2021-10-29-00-00-00-五
      //星期的value会返回0-6,['日', '一', '二', '三', '四', '五', '六'][2]代表周二
      return ['日', '一', '二', '三', '四', '五', '六'][value];
    }
    //padStart用于字符串头部补全,2个字符,如果不够前面补0
    return value.toString().padStart(2, '0');
  });
  return time_str;
}

使用formatDate函数格式化日期格式:传入日期格式为{y}-{m}-{d},可以自己定义成年月日时{y}-{m}-{d}-{h}

 formatDate(new Date(), '{y}-{m}-{d}');
 //返回的是当前时间 2021-10-30

如果格式化的不是当前时间,可以在new Date()里传入相应的时间new Date(time),不传值默认是当前时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值