`
lycwhite
  • 浏览: 54524 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

JS比较两个日期的间隔是否够一个周期(如日,周,月,年)

    博客分类:
  • JS
阅读更多

function checkDateCycle() {

var auto = document.getElementById("automatic").value;

if (auto == "true") {

// 获取周期(如:日,周,月,年)

var cycle = document.getElementById("autoCycle").value;

// 获取开始日期(如:2012-10-20)

var startDate = document.getElementById("startDate").value;

// 获取结束日期(如:2012-10-27)

var endDate = document.getElementById("endDate").value;

var startArr = startDate.split("-");

var endArr = endDate.split("-");

// 开始日期转换成Date类型

var startD = new Date(startArr[0],parseInt(startArr[1])-1,startArr[2]);

// 结束日期转换成Date类型

var endD = new Date(endArr[0],parseInt(endArr[1])-1,endArr[2]);

 

if (cycle == "day") {

var tempD = new Date(startArr[0],parseInt(startArr[1])-1,startArr[2]);

tempD.setDate(tempD.getDate()+1); 

if (tempD < endD) {

return true;

} else if (tempD > endD) {

return false;

} else {

return true;

}

} else if (cycle == "week") {

var tempD = new Date(startArr[0],parseInt(startArr[1])-1,startArr[2]);

tempD.setDate(tempD.getDate()+7); 

if (tempD < endD) {

return true;

} else if (tempD > endD) {

return false;

} else {

return true;

}

} else if (cycle == "month") {

var tempD = new Date(startArr[0],parseInt(startArr[1])-1,startArr[2]);

tempD.setMonth(tempD.getMonth()+1); 

if (tempD < endD) {

return true;

} else if (tempD > endD) {

return false;

} else {

return true;

}

} else if (cycle == "year") {

var tempD = new Date(startArr[0],parseInt(startArr[1])-1,startArr[2]);

tempD.setFullYear(tempD.getFullYear()+1); 

if (tempD < endD) {

return true;

} else if (tempD > endD) {

return false;

} else {

return true;

}

}

} else {

return true;

}

}

分享到:
评论

相关推荐

    contained-periodic-values.js:找出一个区间中包含多少个离散周期函数的值

    找出一个区间中包含的离散周期函数的多少个值。 什么是离散周期函数? 周期函数是重复的函数。 离散函数是值不连接的函数。 离散周期函数的一个例子是日历上的“星期三”函数。 星期三是时间线上的离散值,它们每 ...

    JavaScript笔记

    |--“==”为确定两个运算数是否相等,“==”运算符会进行类型转换。转换后运算数相等就返回true,否则返回false |--“===”不执行类型转换,即,只有在无需类型转换运算数就相等的情况下,才返回true,否则返回...

    JavaScript王者归来part.1 总数2

     1.6 一个例子--JavaScript编写的计算器   1.7 学习和使用JavaScript的几点建议   1.8 关于本书的其余部分   第2章 浏览器中的JavaScript  2.1 嵌入网页的可执行内容   2.2 赏心悦目的特效   2.3 使用...

    JavaScript两种计时器的实例讲解

    通过使用 JavaScript,我们有能力做到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。我们称之为计时事件。提供了两种计时器的方法如下: window.setInterval(); 这个方法就是在一个周期内...

    JavaScript SetInterval与setTimeout使用方法详解

    它们都有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码。不过这两个函数还是有区别的,setInterval在执行完一次代码之后,经过了那个固定的时间...

    谈谈JavaScript中的垃圾回收机制

    为此,垃圾收集器会按照固定的时间间隔(或代码执行中预定的收集时间), 周期性地执行这一操作。  具体到浏览器中的实现,则通常有两个策略,分别为标记清除和引用计数。 一、标记清除  JavaScript 中最常用的垃圾...

    测试培训教材

    切换到“执行流”界面,添加“Sign-On Password”和“Sign-On User Name”两个测试用例: 右键选择“Sign-On User Name”,选择“测试运行计划” 新建执行条件: 设置“Sign-On User Name”的时间...

    bridge-the-gap:js13kGames 2015的入门游戏

    反转模式REVERSED模式以非周期性的方式(以随机间隔)设置,建筑物交换位置,并且玩家必须在相反的方向上架桥(从Right到Left)。技术该游戏是使用HTML5,CSS3和JavaScript开发的。 使用CSS3的动画和过渡使用

    SupeSite7.5数据调用模块参数详解

    只获取数据的模块只能进行模板内部调用,其他类模板代码可以进行两种模式的调用显示:模板内部调用、JavaScript 调用。数据会自动缓存并按指定的时间间隔进行周期更新。 通过创建不同的模块代码,并放置于模板中加以...

    Coding-Challenges:编码挑战

    加两个数字 阵列操作 克隆图 硬币找零 装满水的容器 包含重复项 解码方式 从数据流中查找中位数 组字谜 强盗屋 英文单词的整数 跳跃游戏 流中第K个最大元素 BST中的Kth最小元素 链表周期 最长连续序列 最长子串,无...

    离散数据的半微分/半积分:实现 Yu 等人概述的快速傅立叶变换方法。 (1996) 计算离散数据的第 p 次导数/积分。-matlab开发

    p'th 导数可以是整数值或非整数值(两个整数导数之间的加权卷积)。 如果 p &lt; 0,则执行积分而不是微分。 与其他半导数方法不同,这个过程不需要对信号拟合任何函数形式。 标题图像是周期性 sigmoid 信号函数的...

    java websocket

    轮询技术要求客户端以设定的时间间隔周期性地向服务端发送请求,频繁地查询是否有新的数据改动。明显地,这种方法会导致过多不必要的请求,浪费流量和服务器资源。 Comet技术又可以分为长轮询和流技术。长轮询改进...

    scheduler:生产级调度程序,监督作业完成情况和作业时间表之间的依赖关系

    它将时间分成多个间隔,将每个间隔与一个作业相关联,并确保不丢失任何作业,并确保每个作业均以正确的顺序完成。 常见用例: 等待开始日常工作,直到成功完成所有嵌套小时的工作将每日工作和其他相关作业标记为要...

Global site tag (gtag.js) - Google Analytics