来源:http://gwbasic.iteye.com

/*    将String类型解析为Date类型.    parseDate('2006-1-1') return new Date(2006,0,1)    parseDate(' 2006-1-1 ') return new Date(2006,0,1)    parseDate('2006-1-1 15:14:16') return new Date(2006,0,1,15,14,16)    parseDate(' 2006-1-1 15:14:16 ') return new Date(2006,0,1,15,14,16);    parseDate('2006-1-1 15:14:16.254') return new Date(2006,0,1,15,14,16,254)    parseDate(' 2006-1-1 15:14:16.254 ') return new Date(2006,0,1,15,14,16,254)    parseDate('不正确的格式') retrun null  */  function parseDate(str){     if(typeof str == 'string'){       var results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) *$/);       if(results && results.length>3)         return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]));        results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2}) *$/);       if(results && results.length>6)         return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]),parseInt(results[4]),parseInt(results[5]),parseInt(results[6]));        results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2})\.(\d{1,9}) *$/);       if(results && results.length>7)         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]));      }     return null;   }   

/*    将Date/String类型,解析为String类型.    传入String类型,则先解析为Date类型    不正确的Date,返回 ''    如果时间部分为0,则忽略,只返回日期部分.  */  function formatDate(v){     if(typeof v == 'string') v = parseDate(v);     if(v instanceof Date){       var y = v.getFullYear();       var m = v.getMonth() + 1;       var d = v.getDate();       var h = v.getHours();       var i = v.getMinutes();       var s = v.getSeconds();       var ms = v.getMilliseconds();          if(ms>0) return y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s + '.' + ms;       if(h>0 || i>0 || s>0) return y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s;       return y + '-' + m + '-' + d;     }     return '';   }  

/*  将String类型解析为Date类型.  parseDate('2006-1-1') return new Date(2006,0,1)  parseDate(' 2006-1-1 ') return new Date(2006,0,1)  parseDate('2006-1-1 15:14:16') return new Date(2006,0,1,15,14,16)  parseDate(' 2006-1-1 15:14:16 ') return new Date(2006,0,1,15,14,16);  parseDate('2006-1-1 15:14:16.254') return new Date(2006,0,1,15,14,16,254)  parseDate(' 2006-1-1 15:14:16.254 ') return new Date(2006,0,1,15,14,16,254)  parseDate('不正确的格式') retrun null*/function parseDate(str){  if(typeof str == 'string'){    var results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) *$/);    if(results && results.length>3)      return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]));     results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2}) *$/);    if(results && results.length>6)      return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]),parseInt(results[4]),parseInt(results[5]),parseInt(results[6]));     results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2})\.(\d{1,9}) *$/);    if(results && results.length>7)      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]));   }  return null;}

/*  将Date/String类型,解析为String类型.  传入String类型,则先解析为Date类型  不正确的Date,返回 ''  如果时间部分为0,则忽略,只返回日期部分.*/function formatDate(v){  if(typeof v == 'string') v = parseDate(v);  if(v instanceof Date){    var y = v.getFullYear();    var m = v.getMonth() + 1;    var d = v.getDate();    var h = v.getHours();    var i = v.getMinutes();    var s = v.getSeconds();    var ms = v.getMilliseconds();       if(ms>0) return y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s + '.' + ms;    if(h>0 || i>0 || s>0) return y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s;    return y + '-' + m + '-' + d;  }  return '';}

Javascript 解析,格式化日期相关推荐

  1. 如何使用LocalDateTime解析/格式化日期? (Java 8)

    本文翻译自:How to parse/format dates with LocalDateTime? (Java 8) Java 8 added a new java.time API for wo ...

  2. 如何在 JavaScript 中格式化日期?

    问: 如何将 Date 对象格式化为字符串? huntsbot.com汇聚了国内外优秀的初创产品创意,可按收入.分类等筛选,希望这些产品与实践经验能给您带来灵感. 答1: HuntsBot周刊–不定时 ...

  3. javascript解析JSON返回的日期格式

    javascript解析JSON返回的日期格式 返回的JSON格式 /Date(1563162120000)/ 解析后的日期 2019-07-15 11:42:00 // 格式化josn字符串 fun ...

  4. java 格式化解析_java日期格式化、解析

    今天移植别人的通用工具类,涉及到了日期的格式化.解析,学习结果记录如下. 日期的格式化器普用的是SimpleDateFormat,它继承了了DateFormat.SimpleDateFormat为用户 ...

  5. 第一百零四节,JavaScript时间与日期

    JavaScript时间与日期 学习要点: 1.Date类型 2.通用的方法 3.格式化方法 4.组件方法 ECMAScript提供了Date类型来处理时间和日期.Date类型内置一系列获取和设置日期 ...

  6. JavaScript 时间与日期处理实战:你肯定被坑过

    本部分的知识图谱请参考编程语言知识图谱-时间与日期. 本文JavaScript 时间与日期处理实战:你肯定被坑过从属于笔者的Web 前端入门与最佳实践中 JavaScript 入门与最佳实践系列文章. ...

  7. 带参数的过滤器|| 过滤器案例:格式化日期|| time.js  ||

    带参数的过滤器 过滤器案例:格式化日期 <!DOCTYPE html> <html lang="en"> <head><meta char ...

  8. java 日期 解析_Java日期解析(Java DATE Parsing)

    Java日期解析(Java DATE Parsing) 我有一个java.util.Date的愚蠢问题. 我有这一行代码,但我不明白为什么这个日期是用这种格式无法解析的. public class T ...

  9. Java—格式化日期/时间

    关注微信公众号:CodingTechWork,一起学习进步. DateFormat    DateFormat继承MessageFormat,是实现日期格式化的抽象类.提供两个方法:format()用 ...

最新文章

  1. day07-字符编码、文件操作
  2. 有了ROS这架车,SLAM之路不再遥远!
  3. VTK:PolyData之PointNormals
  4. 如何使用 Go 语言搭建企业级高并发服务器?
  5. Hello World(本博客启程篇)
  6. stackoverflow favorites
  7. 有关Cassandra节点之间的通信:Gossip【译】
  8. 【Java】java中 ==,equals,hashcode
  9. 手机运行内存越大就越好吗?4GB与8GB的差距真的很明显吗?
  10. 主梁弹性模量计算_桥梁支座详解全攻略!图文+计算详解,值得收藏!
  11. 如何在在线直播网站源码中,实现视频连麦直播?
  12. 读取 system serial number
  13. Android ActivityManager类
  14. JMP软件在六西格玛项目管理中高阶应用(五)
  15. 手机查看IGES,STP,STEP格式3D模型免费APP推荐-CAD Assistant
  16. IDEA中Maven项目中报错:10 unmapped Spring configuration files
  17. error:尝试引用已删除的函数或已显式删除函数
  18. windows录屏_电脑是怎么录屏的呢?推荐三个录屏实用方法
  19. 微信小程序从零开始开发步骤(一)
  20. 小试牛刀 python股票查询程序

热门文章

  1. oralce 11g data guard
  2. [翻译]“LINQ to Objects”提供程序是否内置性能优化?
  3. 如何调用 DLL 中的函数
  4. Android—Bitmap图片大小计算、压缩与三级缓存
  5. python字符串添加_python字符串的增删改查
  6. java jar 源码乱码,java使用jar包时出现乱码的解决方法
  7. 不连续曲线 highcharts_无人车运动规划中常用的方法:多项式曲线
  8. python连接oracle超时设置,Python连接Oracle设置过程记录
  9. python 视图对象_python web框架篇:views视图函数
  10. php mysql 绑定变量,在MYSQL中,怎么用PDO绑定变量的方式插入数据?