首页 > 语言 > 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. } 
  9. 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. } 
  19. }//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. //设置周期内的日期(数组) 
  13. function SetFlag(start,end){ 
  14. var cdate = Array(); 
  15. cdate = start.split("-"); 
  16. var cd = cdate[1]+"/"+cdate[2]+"/"+cdate[0];  
  17. var dayNum = DateDiff(end,start); 
  18. for(var i=0; i<=dayNum; i++){ 
  19. flag.push(AddDays(cd,i)); 
  20. } 
  21. }//end fun 
  22. //日期加上天数后的新日期. 
  23. function AddDays(date,days){ 
  24. var nd = new Date(date); 
  25. nd = nd.valueOf(); 
  26. nd = nd + days * 24 * 60 * 60 * 1000; 
  27. nd = new Date(nd); 
  28. //alert(nd.getFullYear() + "年" + (nd.getMonth() + 1) + "月" + nd.getDate() + "日"); 
  29. var y = nd.getFullYear(); 
  30. var m = nd.getMonth()+1; 
  31. var d = nd.getDate(); 
  32. if(m <= 9) m = "0"+m; 
  33. if(d <= 9) d = "0"+d;  
  34. var cdate = y+"-"+m+"-"+d; 
  35. return cdate; 
  36. } 
  37. //两个日期的差值(d1 - d2). 
  38. function DateDiff(d1,d2){ 
  39. var day = 24 * 60 * 60 *1000; 
  40. try{  
  41. var dateArr = d1.split("-"); 
  42. var checkDate = new Date(); 
  43. checkDate.setFullYear(dateArr[0], dateArr[1]-1, dateArr[2]); 
  44. var checkTime = checkDate.getTime(); 
  45.  
  46. var dateArr2 = d2.split("-"); 
  47. var checkDate2 = new Date(); 
  48. checkDate2.setFullYear(dateArr2[0], dateArr2[1]-1, dateArr2[2]); 
  49. var checkTime2 = checkDate2.getTime(); 
  50.  
  51. var cha = (checkTime - checkTime2)/day;  
  52. return cha; 
  53. }catch(e){ 
  54. return false; 
  55. } 
  56. }//end fun 
  57. </script> 

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

图片精选