该方法 date.getFullYear is not a function 仅作用域为时间格式的情况下,提示该异常极大可能是数据的格式与方法不匹配;

解决办法

事先将需要处理的数据进行格式的转译后再调用时间相关的方法或者在时间转换的公共方法中默认预先转译一次

dateFormat(fmt, dateValue) {
        /*
        * 日期格式转换
        * fmt   将要转换的格式样式
        * date  需转换的时间
        * console.log(YHUtility.dateFormat('YYYY-mm-dd HH-MM-SS', object.value));
        * */
        const date = new Date(dateValue); // 默认预先转译一次
        let ret;
        const opt = {
            "Y+": date.getFullYear().toString(),        // 年
            "m+": (date.getMonth() + 1).toString(),     // 月
            "d+": date.getDate().toString(),            // 日
            "H+": date.getHours().toString(),           // 时
            "M+": date.getMinutes().toString(),         // 分
            "S+": date.getSeconds().toString()          // 秒
            // 有其他格式化字符需求可以继续添加,必须转化成字符串
        };
        for (let k in opt) {
            ret = new RegExp("(" + k + ")").exec(fmt);
            if (ret) {
                fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
            }
        }
        return fmt;
    },

以上便是此次分享的全部内容,希望能对大家有所帮助!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐