zoukankan      html  css  js  c++  java
  • 用js解析经json序列化后的C#的DateTime类型数据

    用js解析经json序列化后的C#的DateTime类型数据

     (2012-09-21 19:36:03)
    标签: 

    杂谈

    分类: javascript

    // val为经json直接序列化后的C#的DateTime类型的数据
    function formatTime(val) {
        var re = /-?d+/;
        var m = re.exec(val);
        var d = new Date(parseInt(m[0]));
    // 按【2012-02-13 09:09:09】的格式返回日期
        return d.format("yyyy-MM-dd hh:mm:ss");
    }
    // 用于格式化日期显示

    【感谢方渡远http://www.cnblogs.com/farawayboat/archive/2011/03/17/1987408.html

    直接显示经json序列化后的C#的DateTime类型数据,可能类似:

    /Date(1245398693390)/

    而括号里的那一串数字是自1970年1月1日00:00:00到那个DateTime所表示时间所经过的毫秒数, 因此,

    我们可以使用正则表达式把它提取出来,并以此构造出一个Javascript Date对象:

    Date.prototype.format = function (format) //author: meizz
    {
        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;
    }

  • 相关阅读:
    Linux 命令[5]:rmdir
    Linux 命令[4]:pwd,date
    Linux 命令[0]:起航
    Linux 命令[3]:cd
    vscode插件
    Object.freeze()
    插件
    前端开发调试线上代码
    前端自动化测试是浪费时间还是节约时间?
    踩坑之用lrz插件进行图片压缩
  • 原文地址:https://www.cnblogs.com/wangxiuhui/p/3788120.html
Copyright © 2011-2022 走看看