• 很牛的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

  • 相关阅读:
    一起谈.NET技术,C#特性Attribute的实际应用之:代码统计分析 狼人:
    uploadify+C#实例
    GoldenGate DDL双向复制
    [置顶] Cocos2dx 深入解析系列:以XML文件方式保存用户数据
    打包软件里面安装完打开网页
    [置顶] NYOJ38 布线问题
    IDC:PC 今年第一季度出货量继续下滑趋势,比起去年同期跌了13.9%
    设计模式之组合模式java实现
    Linux C下实现线程池
    [置顶] Unix 网络编程系列05
  • 原文地址:https://www.cnblogs.com/huangtailang/p/2512905.html
Copyright © 2020-2023  润新知