时间戳格式化函数

  对时间格式:/Date(1448864369815)/ 的处理

我们在后台对数据进行json序列化时,如果数据中包含有日期,序列化后的结果可能是这样的: /Date(1448864369815)/  。asp.net mvc 中的 Json() 方法执行后的结果就是如此。

  提供一个原生js的处理方法:

  

    function jsonDateFormat (jsonDt, format) {
            var date, timestamp, dtObj;

            timestamp = jsonDt.replace(/\/Date\((\d+)\)\//, "$1");
            date = 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;
        }

        //调用
        jsonDateFormat("/Date(1448864369815)/","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;
}
console.log(newDate.format(‘yyyy-MM-dd h:m:s‘));
时间: 2024-11-09 05:52:32

时间戳格式化函数的相关文章

js时间戳格式化函数

/** * 格式化日期函数 * (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(format){ var o = { "M+" : this.

js时间格式化函数,支持Unix时间戳

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta charset="utf-8"> <title>js时间格式化函数,支持Unix时间戳</title> </head>

sql常用格式化函数及字符串函数

一.常用格式化函数 1.日期转字符串 select to_char(current_timestamp, 'YYYY-MM-DD HH24:MI:SS') //2017-09-18 22:41:50 YYYY:年(4和更多位) MM:月份号(01-12) DD:一个月里的日(01-31) HH24:一天的小时数(00-23) MI:分钟(00-59) SS:秒(00-59) 2.字符串转日期 select to_date('2017-09-18','YYYY-MM-DD') //2017-09-

js时间格式化工具,时间戳格式化,字符串转时间戳

在开发中经常会用到时间格式化,有时候在网上搜索一大堆但不是自己想要的,自己总结一下,写一个时间格式化工具方便以后直接使用,欢迎大家来吐槽-- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63

delphi Format格式化函数

Format是一个很常用,却又似乎很烦的方法,本人试图对这个方法的帮助进行一些翻译,让它有一个完整的概貌,以供大家查询之用: 首先看它的声明:function Format(const Format: string; const Args: array of const): string; overload; 事实上Format方法有两个种形式,另外一种是三个参数的,主要区别在于它是线程安全的, 但并不多用,所以这里只对第一个介绍:function Format(const Format: st

js 日期格式化函数

直接上代码: // 日期格式化函数 // yyyy/MM/dd hh:mm:ss SSS ⇒ "2017/05/16 09:24:20 850" //"yyyy/M/d h:m:s SSS"⇒ "2017/5/16 9:24:35 723" Date.prototype.format2 = function(format) { var map = { 'M+': this.getMonth() + 1, 'd+': this.getDate(),

js 日期格式化函数(可自定义)

js 日期格式化函数 DateFormat var DateFormat = function (datetime, formatStr) { var dat = datetime; var str = formatStr; var Week = ['日', '一', '二', '三', '四', '五', '六']; str = str.replace(/yyyy|YYYY/, dat.getFullYear()); str = str.replace(/yy|YY/, (dat.getYea

5个缺失的 JavaScript 数字格式化函数

/** 下面两个函数都能对浮点数进行四舍五入,保留小数点后两位 **/ function CurrencyFormatted(amount) { var i = parseFloat(amount); if(isNaN(i)) { i = 0.00; } var minus = ''; if(i < 0) { minus = '-'; } i = Math.abs(i); i = parseInt((i + .005) * 100); i = i / 100; s = new String(i)

PHP中常用的字符串格式化函数总结

注意:在PHP中提供的字符串函数处理的字符串,大部分都不是在原字符串上修改,而是返回一个格式化后的新字符串. 一.取出空格和字符串填补函数 空格也是一个有效的字符,在字符串中也会占据一个位置.用户在表单输入数据时,经常在无意中会多输入一些无意义的空格.因此PHP脚本在接收到通过表单处理过来的数据时,首先处理的就是字符串中多余的空格,或者其他一些没有意义的符号.在PHP中可以通过ltrim().rtrim()和trim()函数来完成这项工作.这三个函数的语法格式相同,但作用有所不同.他们的语法格式