zoukankan      html  css  js  c++  java
  • javascript Date format(js日期格式化)(转)

    javascript Date format(js日期格式化)(转)

    方法一:这个很不错,好像是 csdn 的 Meizz 写的: 

    // 对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)   
    { //author: meizz   
      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()             //毫秒   
      };   
      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 time1 = new Date().format("yyyy-MM-dd HH:mm:ss");     
      
    var time2 = new Date().format("yyyy-MM-dd");  

    方法二:

    <mce:script language="<a href="http://lib.csdn.net/base/javascript" class='replace_word' title="JavaScript知识库" target='_blank' style='color:#df3434; font-weight:bold;'>JavaScript</a>" type="text/javascript"><!--  
            
    /**       
     * 对Date的扩展,将 Date 转化为指定格式的String       
     * 月(M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q) 可以用 1-2 个占位符       
     * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)       
     * eg:       
     * (new Date()).pattern("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423       
     * (new Date()).pattern("yyyy-MM-dd E HH:mm:ss") ==> 2009-03-10 二 20:09:04       
     * (new Date()).pattern("yyyy-MM-dd EE hh:mm:ss") ==> 2009-03-10 周二 08:09:04       
     * (new Date()).pattern("yyyy-MM-dd EEE hh:mm:ss") ==> 2009-03-10 星期二 08:09:04       
     * (new Date()).pattern("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18       
     */          
    Date.prototype.pattern=function(fmt) {           
        var o = {           
        "M+" : this.getMonth()+1, //月份           
        "d+" : this.getDate(), //日           
        "h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //小时           
        "H+" : this.getHours(), //小时           
        "m+" : this.getMinutes(), //分           
        "s+" : this.getSeconds(), //秒           
        "q+" : Math.floor((this.getMonth()+3)/3), //季度           
        "S" : this.getMilliseconds() //毫秒           
        };           
        var week = {           
        "0" : "/u65e5",           
        "1" : "/u4e00",           
        "2" : "/u4e8c",           
        "3" : "/u4e09",           
        "4" : "/u56db",           
        "5" : "/u4e94",           
        "6" : "/u516d"          
        };           
        if(/(y+)/.test(fmt)){           
            fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));           
        }           
        if(/(E+)/.test(fmt)){           
            fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "/u661f/u671f" : "/u5468") : "")+week[this.getDay()+""]);           
        }           
        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 date = new Date();        
    window.alert(date.pattern("yyyy-MM-dd hh:mm:ss"));  
    // --></mce:script>      

    复制代码

    方法三:

    复制代码

    Date.prototype.format = function(mask) {        
           
        var d = this;        
           
        var zeroize = function (value, length) {        
           
            if (!length) length = 2;        
           
            value = String(value);        
           
            for (var i = 0, zeros = ''; i < (length - value.length); i++) {        
           
                zeros += '0';        
           
            }        
           
            return zeros + value;        
           
        };          
           
        return mask.replace(/"[^"]*"|'[^']*'|/b(?:d{1,4}|m{1,4}|yy(?:yy)?|([hHMstT])/1?|[lLZ])/b/g, function($0) {        
           
            switch($0) {        
           
                case 'd':   return d.getDate();        
           
                case 'dd':  return zeroize(d.getDate());        
           
                case 'ddd': return ['Sun','Mon','Tue','Wed','Thr','Fri','Sat'][d.getDay()];        
           
                case 'dddd':    return ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'][d.getDay()];        
           
                case 'M':   return d.getMonth() + 1;        
           
                case 'MM':  return zeroize(d.getMonth() + 1);        
           
                case 'MMM': return ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'][d.getMonth()];        
           
                case 'MMMM':    return ['January','February','March','April','May','June','July','August','September','October','November','December'][d.getMonth()];        
           
                case 'yy':  return String(d.getFullYear()).substr(2);        
           
                case 'yyyy':    return d.getFullYear();        
           
                case 'h':   return d.getHours() % 12 || 12;        
           
                case 'hh':  return zeroize(d.getHours() % 12 || 12);        
           
                case 'H':   return d.getHours();        
           
                case 'HH':  return zeroize(d.getHours());        
           
                case 'm':   return d.getMinutes();        
           
                case 'mm':  return zeroize(d.getMinutes());        
           
                case 's':   return d.getSeconds();        
           
                case 'ss':  return zeroize(d.getSeconds());        
           
                case 'l':   return zeroize(d.getMilliseconds(), 3);        
           
                case 'L':   var m = d.getMilliseconds();        
           
                        if (m > 99) m = Math.round(m / 10);        
           
                        return zeroize(m);        
           
                case 'tt':  return d.getHours() < 12 ? 'am' : 'pm';        
           
                case 'TT':  return d.getHours() < 12 ? 'AM' : 'PM';        
           
                case 'Z':   return d.toUTCString().match(/[A-Z]+$/);        
           
                // Return quoted strings with the surrounding quotes removed        
           
                default:    return $0.substr(1, $0.length - 2);        
           
            }        
           
        });        
           
    };      

    复制代码

     时间过去了很久,下面是我写的由秒到格式化的函数。

    复制代码

      function GetSecondTimeFomate(a) {
                var h = (parseInt(a / 3600));
                if (h.toString().length == 1) {
                    h = "0" + h;
                }
                var m = (parseInt((a % 3600) / 60));
                if (m.toString().length == 1) {
                    m = "0" + m;
                }
                var s = (a - 3600 * h - 60 * m);
                if (s.toString().length == 1) {
                    s = "0" + s;
                }
                return (h + ":" + m + ":" + s)
            }

    复制代码

  • 相关阅读:
    10 种保护 Spring Boot 应用的绝佳方法
    Redis 如何分析慢查询操作?
    Spring Boot 主类及目录结构介绍
    Redis 再牛逼,也得设置密码!!
    Spring Data Redis 详解及实战一文搞定
    Spring Boot Redis Cluster 实战干货
    超详细的 Redis Cluster 官方集群搭建指南
    Redis Linux 安装运行实战全记录
    hdu 4790 Just Random (思路+分类计算+数学)
    poj 1328 Radar Installation(贪心)
  • 原文地址:https://www.cnblogs.com/grj001/p/12223321.html
Copyright © 2011-2022 走看看