• JSON格式的时间“/Date(1530104033000)/”格式转为正常的年-月-日 格式的代码


    解决方法1:

    JS将/Date(1446704778000)/转换成str:

    // 对Date的扩展,将 Date 转化为指定格式的String
    // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
    // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
    // 例子:
    // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
    // (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
    Date.prototype.format = function (fmt) {
        var o = {
            "M+" : this.getMonth() + 1, //月份
            "d+" : this.getDate(), //
            "h+" : this.getHours(), //小时
            "m+" : this.getMinutes(), //
            "s+" : this.getSeconds(), //
            "q+" : Math.floor((this.getMonth() + 3) / 3), //季度
            "S" : this.getMilliseconds() //毫秒
        };
        fmt = fmt || "yyyy-MM-dd";
        if (/(y+)/.test(fmt))
            fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
        for (var k in o)
            if (new RegExp("(" + k + ")").test(fmt))
                fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
        return fmt;
    }
    
    var time = "/Date(1530104033000)/"; 
    
    

    var dateStr = eval(time.replace(//Date((d+))//gi, "new Date($1)")).format('yyyy-M-d h:m');
    //关键代码:eval(time.replace(//Date((d+))//gi, "new Date($1)")).format('yyyy-M-d h:m');




    解决方法2:

    //格式化日期字符串
    String.prototype.jsonDateFormat = function (format) {
        var date, timestamp, dtObj
        timestamp = parseInt(this.toString().replace('/Date(', '').replace(')/', '').replace(/+d+/, ''), 10)// jsonDt.replace(//Date((d+))//, "$1");
        date = new Date(timestamp)// new Date(Number(timestamp));
        dtObj = {
            'M+': date.getMonth() + 1, //
            'd+': date.getDate(), //
            'h+': date.getHours(), //
            'm+': date.getMinutes(), //
            's+': date.getSeconds() //
        }
        // 因为年份是4位数,所以单独拿出来处理
        if (/(y+)/.test(format)) {
            format = format.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
        }
        // 遍历dtObj
        for (var k in dtObj) {
            // dtObj的属性名作为正则进行匹配
            if (new RegExp('(' + k + ')').test(format)) {
                // 月,日,时,分,秒 小于10时前面补 0
                format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? dtObj[k] : ('00' + dtObj[k]).substr(('' + dtObj[k]).length))
            }
        }
        return format
    }

    调用示例:

    var CreateTime="/Date(1571292406000)/";
    CreateTime.jsonDateFormat('yyyy-MM-dd hh:mm:ss');

    解决方法3:(建议采用)

    引用第三方库:Moment.js  http://momentjs.cn/

    安装
    
    npm install moment --save   # npm
    yarn add moment             # Yarn
    Install-Package Moment.js   # NuGet
    spm install moment --save   # spm
    meteor add momentjs:moment  # meteor
    <script type="text/javascript" src="https://cdn.bootcss.com/moment.js/2.24.0/moment.min.js"></script>
    <script type="text/javascript" src="https://cdn.bootcss.com/moment.js/2.24.0/locale/zh-cn.js"></script>

    使用示例:

    moment("/Date(1198908717056-0700)/"); // 2007-12-28T23:11:57.056-07:00
    moment("/Date(1198908717056-0700)/").format("YYYY-MM-DD HH:mm:SS");//"2007-12-29 14:11:05"

    如果这篇文章对您有帮助,您可以打赏我

    技术交流QQ群:15129679

     
     
  • 相关阅读:
    POJ 2135 Farm Tour(最小费用最大流,变形)
    HDU 1503 Advanced Fruits (LCS,变形)
    HDU Senior's Gun (水题)
    POJ 3648 Wedding (2-SAT,经典)
    HDU 3549 Flow Problem 流问题(最大流,入门)
    解决在eclipse中导入项目名称已存在的有关问题
    如何将js导入时的小红叉去掉
    servlet传值到servlet传值问题
    转发重定向的用法
    parameter与attribute的使用场合(转载自草原和大树)
  • 原文地址:https://www.cnblogs.com/yeminglong/p/9282730.html
Copyright © 2020-2023  润新知