首页 > 语言 > JavaScript > 正文

JS日期加减,日期运算代码

2024-05-06 16:24:58
字体:
来源:转载
供稿:网友

这篇文章主要介绍了JS日期加减,日期运算代码,需要的朋友可以参考下

一、日期减去天数等于第二个日期

 

 
  1. function cc(dd,dadd){ 
  2. //可以加上错误处理 
  3. var a = new Date(dd) 
  4. a = a.valueOf() 
  5. a = a - dadd * 24 * 60 * 60 * 1000 
  6. a = new Date(a) 
  7. alert(a.getFullYear() + "年" + (a.getMonth() + 1) + "月" + a.getDate() + "日"
  8. cc("12/23/2002",2) 

这里不得不做补充,浪费好多时间得出教训:

Javascript 对时间的代号

0-11数字表示1-12月: var a= new Date(2006,5,6) 结果是2006-6-6

0-6表示星期

1-31表示日期

0-23小时

0-59分钟,秒

二。//两个日期的差值(d1 - d2).

 

 
  1. function DateDiff(d1,d2){ 
  2. var day = 24 * 60 * 60 *1000; 
  3. try{  
  4. var dateArr = d1.split("-"); 
  5. var checkDate = new Date(); 
  6. checkDate.setFullYear(dateArr[0], dateArr[1]-1, dateArr[2]); 
  7. var checkTime = checkDate.getTime(); 
  8.  
  9. var dateArr2 = d2.split("-"); 
  10. var checkDate2 = new Date(); 
  11. checkDate2.setFullYear(dateArr2[0], dateArr2[1]-1, dateArr2[2]); 
  12. var checkTime2 = checkDate2.getTime(); 
  13.  
  14. var cha = (checkTime - checkTime2)/day;  
  15. return cha; 
  16. }catch(e){ 
  17. return false
  18. }//end fun 

三、应用:

 

 
  1. <script language="javascript" type="text/javascript"
  2. var flag = Array();//全局变量 
  3.  
  4. var start = "2009-01-01"
  5. var end = "2009-02-24"
  6. SetFlag(start,end);  
  7.  
  8. for(var i=0; i<flag.length; i++){ 
  9. document.write(flag[i]+"/n/r"); 
  10.  
  11. //设置周期内的日期(数组) 
  12. function SetFlag(start,end){ 
  13. var cdate = Array(); 
  14. cdate = start.split("-"); 
  15. var cd = cdate[1]+"/"+cdate[2]+"/"+cdate[0];  
  16. var dayNum = DateDiff(end,start); 
  17. for(var i=0; i<=dayNum; i++){ 
  18. flag.push(AddDays(cd,i)); 
  19. }//end fun 
  20. //日期加上天数后的新日期. 
  21. function AddDays(date,days){ 
  22. var nd = new Date(date); 
  23. nd = nd.valueOf(); 
  24. nd = nd + days * 24 * 60 * 60 * 1000; 
  25. nd = new Date(nd); 
  26. //alert(nd.getFullYear() + "年" + (nd.getMonth() + 1) + "月" + nd.getDate() + "日"); 
  27. var y = nd.getFullYear(); 
  28. var m = nd.getMonth()+1; 
  29. var d = nd.getDate(); 
  30. if(m <= 9) m = "0"+m; 
  31. if(d <= 9) d = "0"+d;  
  32. var cdate = y+"-"+m+"-"+d; 
  33. return cdate; 
  34. //两个日期的差值(d1 - d2). 
  35. function DateDiff(d1,d2){ 
  36. var day = 24 * 60 * 60 *1000; 
  37. try{  
  38. var dateArr = d1.split("-"); 
  39. var checkDate = new Date(); 
  40. checkDate.setFullYear(dateArr[0], dateArr[1]-1, dateArr[2]); 
  41. var checkTime = checkDate.getTime(); 
  42.  
  43. var dateArr2 = d2.split("-"); 
  44. var checkDate2 = new Date(); 
  45. checkDate2.setFullYear(dateArr2[0], dateArr2[1]-1, dateArr2[2]); 
  46. var checkTime2 = checkDate2.getTime(); 
  47.  
  48. var cha = (checkTime - checkTime2)/day;  
  49. return cha; 
  50. }catch(e){ 
  51. return false
  52. }//end fun 
  53. </script> 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选