JS解析,格式化日期

  1. /*
  2. 将String类型解析为Date类型.
  3. parseDate('2006-1-1')returnnewDate(2006,0,1)
  4. parseDate('2006-1-1')returnnewDate(2006,0,1)
  5. parseDate('2006-1-115:14:16')returnnewDate(2006,0,1,15,14,16)
  6. parseDate('2006-1-115:14:16')returnnewDate(2006,0,1,15,14,16);
  7. parseDate('2006-1-115:14:16.254')returnnewDate(2006,0,1,15,14,16,254)
  8. parseDate('2006-1-115:14:16.254')returnnewDate(2006,0,1,15,14,16,254)
  9. parseDate('不正确的格式')retrunnull
  10. */
  11. functionparseDate(str){
  12. if(typeofstr=='string'){
  13. varresults=str.match(/^*(/d{4})-(/d{1,2})-(/d{1,2})*$/);
  14. if(results&&results.length>3)
  15. returnnewDate(parseInt(results[1]),parseInt(results[2])-1,parseInt(results[3]));
  16. results=str.match(/^*(/d{4})-(/d{1,2})-(/d{1,2})+(/d{1,2}):(/d{1,2}):(/d{1,2})*$/);
  17. if(results&&results.length>6)
  18. returnnewDate(parseInt(results[1]),parseInt(results[2])-1,parseInt(results[3]),parseInt(results[4]),parseInt(results[5]),parseInt(results[6]));
  19. results=str.match(/^*(/d{4})-(/d{1,2})-(/d{1,2})+(/d{1,2}):(/d{1,2}):(/d{1,2})/.(/d{1,9})*$/);
  20. if(results&&results.length>7)
  21. returnnewDate(parseInt(results[1]),parseInt(results[2])-1,parseInt(results[3]),parseInt(results[4]),parseInt(results[5]),parseInt(results[6]),parseInt(results[7]));
  22. }
  23. returnnull;
  24. }
  25. /*
  26. 将Date/String类型,解析为String类型.
  27. 传入String类型,则先解析为Date类型
  28. 不正确的Date,返回''
  29. 如果时间部分为0,则忽略,只返回日期部分.
  30. */
  31. functionformatDate(v){
  32. if(typeofv=='string')v=parseDate(v);
  33. if(vinstanceofDate){
  34. vary=v.getFullYear();
  35. varm=v.getMonth()+1;
  36. vard=v.getDate();
  37. varh=v.getHours();
  38. vari=v.getMinutes();
  39. vars=v.getSeconds();
  40. varms=v.getMilliseconds();
  41. if(ms>0)returny+'-'+m+'-'+d+''+h+':'+i+':'+s+'.'+ms;
  42. if(h>0||i>0||s>0)returny+'-'+m+'-'+d+''+h+':'+i+':'+s;
  43. returny+'-'+m+'-'+d;
  44. }
  45. return'';
  46. }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值