今天搭了个新vue项目,在使用日期的format函数的时候,竟然报错了;之前都是在已经搭好的项目开发,浑然不觉这东西还能报错。不过也找到问题原因以及解决办法,原因是js里面date没有这个format方法。解决办法是加一个这个方法,就这么简单hh。分两步走:

1、给date原型挂载format属性

在项目放js的地方放上以下代码:

Date.prototype.format = function (format) {
    var o = {
        "M+": this.getMonth() + 1, //month
        "d+": this.getDate(), //day
        "h+": this.getHours(), //hour
        "m+": this.getMinutes(), //minute
        "s+": this.getSeconds(), //second
        "q+": Math.floor((this.getMonth() + 3) / 3), //quarter
        "S": this.getMilliseconds() //millisecond
    }
    if (/(y+)/.test(format)) {
        format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    }

    for (var k in o) {
        if (new RegExp("(" + k + ")").test(format)) {
            format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
        }
    }
    return format;
}

这就挂好了(需要其它属性的同)。

2、引用

在vue项目中导入:

import './public'  //刚刚挂载的文件

直接使用该方法即可,示例:

creted(){//想啥时候用就啥时候用,不限于created
      let today = new Date();
      let todayFmt = today.format('yyyy-MM-dd')
}

还有其他想挂载的属性也用Date.prototype即可。

Logo

前往低代码交流专区

更多推荐