zoukankan      html  css  js  c++  java
  • JSON日期时间格式化

    使用 JavaScriptSerializer 序列化生成 Json 字符串时,DateTime 会被转成形如 /Date(1369377245460)/ 的格式。

    以下函数用于格式化输出时间,使用方法类似于C# 的 Datetime.ToString

    //日期格式转换
    function formatDate(str, format) {
        if (!str) return '';
    
        var i = parseInt(str.match(/[-]*\d+/g)[0]);
        if (i < 0) return '';
        var d = new Date(i);
        if (d.toString() == 'Invalid Date') return '';
    
        //处理客户端时区不同导致的问题
        //480 是UTC+8
        var utc8Offset = 480;
        d.setMinutes(d.getMinutes() + (d.getTimezoneOffset() + 480));
    
        format = format || 'MM/dd hh:mm:ss tt';
    
        var hour = d.getHours();
        var month = FormatNum(d.getMonth() + 1)
    
        var re = format.replace('YYYY', d.getFullYear())
        .replace('YY', FormatNum(d.getFullYear() % 100))
        .replace('MM', FormatNum(month))
        .replace('dd', FormatNum(d.getDate()))
        .replace('hh', hour == 0 ? '12' : FormatNum(hour <= 12 ? hour : hour - 12))
        .replace('HH', FormatNum(hour))
        .replace('mm', FormatNum(d.getMinutes()))
        .replace('ss', FormatNum(d.getSeconds()))
        .replace('tt', (hour < 12 ? 'AM' : 'PM'));
    
        return re;
    
        function FormatNum(num) {
            num = Number(num);
            return num < 10 ? ('0' + num) : num.toString();
        }
    }
    console.log(formatDate('/Date(1369377245460)/', 'dd/MM HH:mm:ss'));
  • 相关阅读:
    JAVA中HashMap相关知识的总结(一)
    linux进阶之路(三):vi/vim编辑器
    linux进阶之路(二):linux文件目录
    linux进阶之路(一):linux入门
    linux:lrzsz安装
    一:阿里云服务器使用及后台环境搭建
    第二篇:线程七种状态
    Git log
    redis3.0 集群实战3
    详解Linux chgrp和chown命令的用法
  • 原文地址:https://www.cnblogs.com/straybird/p/3096868.html
Copyright © 2011-2022 走看看