zoukankan      html  css  js  c++  java
  • 很牛的javascript日期转换函数

    1.  /*将String类型解析为Date类型.   
    2.   parseDate('2006-1-1') return new Date(2006,0,1)   
    3.   parseDate(' 2006-1-1 ') return new Date(2006,0,1)   
    4.   parseDate('2006-1-1 15:14:16') return new Date(2006,0,1,15,14,16)   
    5.   parseDate(' 2006-1-1 15:14:16 ') return new Date(2006,0,1,15,14,16);   
    6.   parseDate('2006-1-1 15:14:16.254') return new Date(2006,0,1,15,14,16,254)   
    7.   parseDate(' 2006-1-1 15:14:16.254 ') return new Date(2006,0,1,15,14,16,254)   
    8.   parseDate('不正确的格式') retrun null   
    9. */    
    10. function parseDate(str){     
    11.   if(typeof str == 'string'){     
    12.     var results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) *$/);     
    13.     if(results && results.length>3)     
    14.       return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]));      
    15.     results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2}) *$/);     
    16.     if(results && results.length>6)     
    17.       return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]),parseInt(results[4]),parseInt(results[5]),parseInt(results[6]));      
    18.     results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2})\.(\d{1,9}) *$/);     
    19.     if(results && results.length>7)     
    20.       return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]),parseInt(results[4]),parseInt(results[5]),parseInt(results[6]),parseInt(results[7]));      
    21.   }     
    22.   return null;     
    23. }     
    24.     
    25. /*   
    26.   将Date/String类型,解析为String类型.   
    27.   传入String类型,则先解析为Date类型   
    28.   不正确的Date,返回 ''   
    29.   如果时间部分为0,则忽略,只返回日期部分.   
    30. */    
    31. function formatDate(v){     
    32.   if(typeof v == 'string') v = parseDate(v);     
    33.   if(v instanceof Date){     
    34.     var y = v.getFullYear();     
    35.     var m = v.getMonth() + 1;     
    36.     var d = v.getDate();     
    37.     var h = v.getHours();     
    38.     var i = v.getMinutes();     
    39.     var s = v.getSeconds();     
    40.     var ms = v.getMilliseconds();        
    41.     if(ms>0) return y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s + '.' + ms;     
    42.     if(h>0 || i>0 || s>0) return y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s;     
    43.     return y + '-' + m + '-' + d;     
    44.   }     
    45.   return '';     
    46. }   

    http://lihui5028.iteye.com/blog/376095

  • 相关阅读:
    java基础(六):RabbitMQ 入门
    Spring Boot 入门(六):集成 treetable 和 zTree 实现树形图
    Geoserver+Openlayers拉框查询
    Spring Boot 入门(五):集成 AOP 进行日志管理
    Spring boot 入门(四):集成 Shiro 实现登陆认证和权限管理
    java基础(五):谈谈java中的多线程
    java基础(四):谈谈java中的IO流
    java基础(三):谈谈java异常的处理
    java基础(二):谈谈Java基本数据结构
    Java编译时常量和运行时常量
  • 原文地址:https://www.cnblogs.com/huangtailang/p/2512905.html
Copyright © 2011-2022 走看看