js格式化时间格式 (使用字符串补全功能(padStart))

以当前时间为例:

方法一:

data(){
 return {
      newTime: "", //时分秒
      newDay: "", //年月日
      newWeek: "", //星期几
   }
 },
created() {
    this.getTime();
  },
methods: {
    getTime() {
      let t = new Date();
      let y = t.getFullYear();
      let mm = t.getMonth() + 1;
      let m = mm < 10 ? "0" + mm : mm;
      let d = t.getDate() < 10 ? "0" + t.getDate() : t.getDate();
      let h = t.getHours() < 10 ? "0" + t.getHours() : t.getHours();
      let mi = t.getMinutes() < 10 ? "0" + t.getMinutes() : t.getMinutes();
      let s = t.getSeconds() < 10 ? "0" + t.getSeconds() : t.getSeconds();
      // 时分秒
      this.newTime = h + ":" + mi + ":" + s;
      // 年月日
      this.newDay = y + "-" + m + "-" + d;
      // 星期几
      let weekDays = [
        "星期天",
        "星期一",
        "星期二",
        "星期三",
        "星期四",
        "星期五",
        "星期六",
      ];
      let week = t.getDay();
      this.newWeek = weekDays[week];
    }
},

方法二:

用到ES2017 引入的字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。

这里使用padStart()

  data() {
    return {
      formatDate: "", //年月日
    };
  },
  created() {
    this.getFormatDate();
  },
  methods: {
    getFormatDate() {
      let value = new Date();
      const year = `${value.getFullYear()}`;
      const month = `${value.getMonth() + 1}`;
      const day = `${value.getDate()}`;
      this.formatDate =
        year + "-" + month.padStart(2, "0") + "-" + day.padStart(2, "0");
    }
}

padStart()接受两个参数,第一个参数用来指定字符串的最小长度,第二个参数是用来补全的字符串。

如果原字符串的长度,等于或大于指定的最小长度,则返回原字符串。

'xxx'.padStart(2, 'ab') // 'xxx'

如果省略第二个参数,默认使用空格补全长度。

'x'.padStart(4) // ' x'

padStart()的常见用途是为数值补全指定位数。下面代码生成 10 位的数值字符串。

'1'.padStart(10, '0') // "0000000001"

'12'.padStart(10, '0') // "0000000012"

'123456'.padStart(10, '0') // "0000123456"

另一个用途是提示字符串格式。

'12'.padStart(10, 'YYYY-MM-DD') // "YYYY-MM-12"

'09-12'.padStart(10, 'YYYY-MM-DD') // "YYYY-09-12"

padEnd()使用同理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值