该方法 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

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐