博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
很牛的javascript日期转换函数
阅读量:5022 次
发布时间:2019-06-12

本文共 1891 字,大约阅读时间需要 6 分钟。

  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. }   

转载于:https://www.cnblogs.com/huangtailang/archive/2012/05/22/2512905.html

你可能感兴趣的文章
BZOJ1069 SCOI2007最大土地面积(凸包+旋转卡壳)
查看>>
Design / UX Consultation
查看>>
windows7_下Eclipse中部署tomcat7.0进行JSP+servlet开发
查看>>
hdu 2008 数值统计(c语言)
查看>>
从服务器导入数据到本地的方法
查看>>
微软嵌套EXCEL
查看>>
uchome //默认加入群组
查看>>
Mybatis中同时使用shardbatis和pagehelper插件冲突问题
查看>>
MapReduce的DBInputFormat使用
查看>>
【FFMPEG】【ARM-Linux开发】fmpeg安装第三方编码器(encoder)库,ffmpeg编码h264(完)...
查看>>
【CUDA开发】Cuda C++ Thrust API与 Cuda Runtime API程序比较
查看>>
【MySql】性能优化之分析命令
查看>>
重新排列 MySQL 数据库表的自增主键 id
查看>>
python_字符串类型
查看>>
01--DNS服务器3
查看>>
kibana安装与基础用法
查看>>
python 内嵌函数
查看>>
程序员的恶性循环:加班->没空学习->老是写同等水平代码->无法提升代码质量->老是出BUG->老是需要修改->加班->......
查看>>
MongoDB【第一篇】安装
查看>>
大四中软实习笔记20130228
查看>>