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


Posted in Javascript onNovember 05, 2015

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

function cc(dd,dadd){
//可以加上错误处理
var a = new Date(dd)
a = a.valueOf()
a = a - dadd * 24 * 60 * 60 * 1000
a = new Date(a)
alert(a.getFullYear() + "年" + (a.getMonth() + 1) + "月" + a.getDate() + "日")
}
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).

function DateDiff(d1,d2){
  var day = 24 * 60 * 60 *1000;
try{  
    var dateArr = d1.split("-");
  var checkDate = new Date();
    checkDate.setFullYear(dateArr[0], dateArr[1]-1, dateArr[2]);
  var checkTime = checkDate.getTime();
 
  var dateArr2 = d2.split("-");
  var checkDate2 = new Date();
    checkDate2.setFullYear(dateArr2[0], dateArr2[1]-1, dateArr2[2]);
  var checkTime2 = checkDate2.getTime();
  
  var cha = (checkTime - checkTime2)/day; 
    return cha;
  }catch(e){
  return false;
}
}//end fun

三、应用:

<script language="javascript" type="text/javascript">
var flag = Array();//全局变量

var start = "2009-01-01";
var end = "2009-02-24";
SetFlag(start,end); 

for(var i=0; i<flag.length; i++){
  document.write(flag[i]+"\n\r");
}

//设置周期内的日期(数组)
function SetFlag(start,end){
var cdate = Array();
cdate = start.split("-");
var cd = cdate[1]+"/"+cdate[2]+"/"+cdate[0]; 
var dayNum = DateDiff(end,start);
for(var i=0; i<=dayNum; i++){
  flag.push(AddDays(cd,i));
}
}//end fun
//日期加上天数后的新日期.
function AddDays(date,days){
var nd = new Date(date);
  nd = nd.valueOf();
  nd = nd + days * 24 * 60 * 60 * 1000;
  nd = new Date(nd);
  //alert(nd.getFullYear() + "年" + (nd.getMonth() + 1) + "月" + nd.getDate() + "日");
var y = nd.getFullYear();
var m = nd.getMonth()+1;
var d = nd.getDate();
if(m <= 9) m = "0"+m;
if(d <= 9) d = "0"+d; 
var cdate = y+"-"+m+"-"+d;
return cdate;
}
//两个日期的差值(d1 - d2).
function DateDiff(d1,d2){
  var day = 24 * 60 * 60 *1000;
try{  
    var dateArr = d1.split("-");
  var checkDate = new Date();
    checkDate.setFullYear(dateArr[0], dateArr[1]-1, dateArr[2]);
  var checkTime = checkDate.getTime();
 
  var dateArr2 = d2.split("-");
  var checkDate2 = new Date();
    checkDate2.setFullYear(dateArr2[0], dateArr2[1]-1, dateArr2[2]);
  var checkTime2 = checkDate2.getTime();
  
  var cha = (checkTime - checkTime2)/day; 
    return cha;
  }catch(e){
  return false;
}
}//end fun
</script>
Javascript 相关文章推荐
javascript 闭包疑问
Dec 30 Javascript
JS实现日期加减的方法
Nov 29 Javascript
jquery自适应布局的简单实例
May 28 Javascript
详细探究ES6之Proxy代理
Jul 22 Javascript
jQuery操作cookie
Aug 08 Javascript
JS 实现 ajax 异步浏览器兼容问题
Jan 21 Javascript
JavaScript数据结构之广义表的定义与表示方法详解
Apr 12 Javascript
ES6扩展运算符用法实例分析
Oct 31 Javascript
js中比较两个对象是否相同的方法示例
Sep 02 Javascript
基于vue-draggable 实现三级拖动排序效果
Jan 10 Javascript
解决vue动态路由异步加载import组件,加载不到module的问题
Jul 26 Javascript
基于element-ui对话框el-dialog初始化的校验问题解决
Sep 11 Javascript
程序员必知35个jQuery 代码片段
Nov 05 #Javascript
js如何实现淡入淡出效果
Nov 18 #Javascript
JavaScript数组去重的五种方法
Nov 05 #Javascript
javascript实现tab切换的两个实例
Nov 05 #Javascript
Javascript中的return作用及javascript return关键字用法详解
Nov 05 #Javascript
js实现选中页面文字将其分享到新浪微博
Nov 05 #Javascript
使用JQuery实现的分页插件分享
Nov 05 #Javascript
You might like
小偷PHP+Html+缓存
2006/11/25 PHP
PHP下打开phpMyAdmin出现403错误的问题解决方法
2013/05/23 PHP
php自定义hash函数实例
2015/05/05 PHP
PHP的PDO大对象(LOBs)
2019/01/27 PHP
关于document.cookie的使用javascript
2008/04/11 Javascript
JQUERY对单选框(radio)操作的小例子
2013/04/25 Javascript
javasciprt下jquery函数$.post执行无响应的解决方法
2014/03/13 Javascript
jQuery入门介绍之基础知识
2015/01/13 Javascript
基于jquery实现页面滚动时顶部导航显示隐藏
2020/04/20 Javascript
解决node.js安装包失败的几种方法
2016/09/02 Javascript
简单实现bootstrap导航效果
2017/02/07 Javascript
微信小程序request出现400的问题解决办法
2017/05/23 Javascript
JSON创建键值对(key是中文或者数字)方式详解
2017/08/24 Javascript
JS兼容所有浏览器的DOMContentLoaded事件
2018/01/12 Javascript
vue采用EventBus实现跨组件通信及注意事项小结
2018/06/14 Javascript
记一次vue-webpack项目优化实践详解
2019/02/17 Javascript
一篇文章,教你学会Vue CLI 插件开发
2019/04/17 Javascript
JS中数据结构与算法---排序算法(Sort Algorithm)实例详解
2019/06/17 Javascript
聊聊Vue中provide/inject的应用详解
2019/11/10 Javascript
[01:24:16]2018DOTA2亚洲邀请赛 4.6 全明星赛
2018/04/10 DOTA
跟老齐学Python之网站的结构
2014/10/24 Python
python实现bucket排序算法实例分析
2015/05/04 Python
pytorch使用Variable实现线性回归
2019/05/21 Python
pyqt实现.ui文件批量转换为对应.py文件脚本
2019/06/19 Python
使用opencv将视频帧转成图片输出
2019/12/10 Python
深度学习入门之Pytorch 数据增强的实现
2020/02/26 Python
python批量生成条形码的示例
2020/10/10 Python
python 用struct模块解决黏包问题
2020/11/07 Python
什么是静态路由,其特点是什么?什么是动态路由,其特点是什么?
2013/07/26 面试题
学校消防演习方案
2014/02/19 职场文书
第二批党的群众路线教育实践活动总结报告
2014/10/30 职场文书
2014年幼师工作总结
2014/11/22 职场文书
2015年社会实践个人总结
2015/03/06 职场文书
人事聘任通知
2015/04/21 职场文书
简历自我评价:教师师德表现自我评价
2019/04/24 职场文书
vue实现滑动解锁功能
2022/03/03 Vue.js