zoukankan      html  css  js  c++  java
  • JSON时间转换格式化

    1、JSON时间格式转换

    通常JSON时间一般是这样的格式:/Date(1436595149269)/

    通常我们用AJAX获取下来的JSON数据,如果有时间,都是这种格式的。其中,中间的一段数字"1436595149269"表示的是1970年1月1日至今的毫秒数。

    这种时间格式并不能够直接显示给用户查看,因为这是人类所看不懂的时间。所以我们需要将它转换为正常人能够理解的时间格式。

    1、第一步,替换掉/Date()/

    //对外暴露的函数,替换掉/Date( )/
    function convertTime(jsonTime, format) {
        var date = new Date(parseInt(jsonTime.replace("/Date(", "").replace(")/", ""), 10));
        var formatDate = date.format(format);
        return formatDate;
    }

     2、将数字时间转换为可视化的yyyy-MM-dd HH;mm:ss的格式 

          第一种方法需要改变Date原型:

    //先扩展一下javascript的Date类型,增加一个函数,用于返回我们想要的 yyyy-MM-dd HH:mm:ss 这种时间格式
    Date.prototype.format = function (format) {
        var date = {
            "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()
        };
         
        if (/(y+)/i.test(format)) {
            format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));
        }
     
        for (var k in date) {
            if (new RegExp("(" + k + ")").test(format)) {
              format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? date[k] : ("00" + date[k]).substr(("" + date[k]).length));
            }
        }
         
        return format;
    }
    View Code

     调用实例:

    $(function () {
        var dt = '/Date(1436595149269)/';
        var formatTime1 = convertTime(dt, "yyyy-MM-dd hh:mm:ss");//2015-07-11 14:12:29
        $("#div1").text(formatTime1);
        var formatTime2 = convertTime(dt, "yyyy年MM月dd日 hh时mm分ss秒");//2015年07月11日 14时12分29秒
        $("#div2").text(formatTime2);
    })

     3、第二种方法:

    <!doctype html>
    <html>
    <head>
        <title>JSON时间格式化(/Date()转换为yyyy-MM-dd HH:mm:ss)</title>
    </head>
    <body>
    <script>
    //yyyy-MM-dd HH:mm:SS
    function getDateTime(date) {
        var year = date.getFullYear();
        var month = date.getMonth() + 1;
        var day = date.getDate();
        var hh = date.getHours();
        var mm = date.getMinutes();
        var ss = date.getSeconds();
        return year + "-" + month + "-" + day + " " + hh + ":" + mm + ":" + ss;
    }
    //调用的是这个方法
    function ConvertJSONDateToJSDate(jsondate) {
        var date = new Date(parseInt(jsondate.replace("/Date(", "").replace(")/", ""), 10));
        return date;
    }
    var date = "/Date(1379944571737)/";
    alert(getDateTime(ConvertJSONDateToJSDate(date)));
    </script>
    </body>
    </html>
    View Code
  • 相关阅读:
    订单的处理原理及代码实现.
    购物车的原理及实现.(仿京东实现原理)
    集群下session共享问题的解决方案.
    页面静态化技术Freemarker技术的介绍及使用实例.
    ActiveMQ的介绍及使用实例.
    获取Android运行apk的packagename 和activityname
    linux extundelete 删除文件恢复
    jenkins 批量修改配置文件
    jenkins构建自动执行jmeter 发送http请求,中间有替换参数路径
    jenkins 执行ssh 远程linux执行命令
  • 原文地址:https://www.cnblogs.com/SmileSunday/p/9223056.html
Copyright © 2011-2022 走看看