/* 往指定时间字符串上加时间间隔,获得新的时间字符串
 * startDateStr:开始时间字符串,类似"2015-7-20 17:26:00"
 * durationNumStr:持续时间数
 * durationTypeStr:持续时间类型
 * 返回类似:2015-7-20 17:26:00
 *
 *
 */
function getEndDate(startDateStr, durationNumStr, durationTypeStr) {
 
    var startDate = new Date(startDateStr.replace("-", "/").replace("-",
            "/"));
    var duration_num = parseInt(durationNumStr);
 
    var endDate = "";
    if (durationTypeStr == "min") {
        endDate = new Date(startDate.setMinutes(startDate.getMinutes()
                + duration_num));
    }
    if (durationTypeStr == "h") {
        endDate = new Date(startDate.setHours(startDate.getHours()
                + duration_num));
    }
    if (durationTypeStr == "d") {
        endDate = new Date(startDate.setDate(startDate.getDate()
                + duration_num));
    }
    if (durationTypeStr == "w") {
        endDate = new Date(startDate.setDate(startDate.getDate()
                + duration_num * 7));
    }
    if (durationTypeStr == "m") {
        endDate = new Date(startDate.setMonth(startDate.getMonth()
                + duration_num));
    }
    if (durationTypeStr == "y") {
        endDate = new Date(startDate.setFullYear(startDate.getFullYear()
                + duration_num));
    }
 
    var year = endDate.getFullYear();
    var month = endDate.getMonth() + 1 < 10 ? "0"
            + (endDate.getMonth() + 1) : endDate.getMonth() + 1;
    var date = endDate.getDate() < 10 ? "0" + endDate.getDate() : endDate
            .getDate();
    var hour = endDate.getHours() < 10 ? "0" + endDate.getHours() : endDate
            .getHours();
    var minute = endDate.getMinutes() < 10 ? "0" + endDate.getMinutes()
            : endDate.getMinutes();
    var second = endDate.getSeconds() < 10 ? "0" + endDate.getSeconds()
            : endDate.getSeconds();
    var endDateStr = year + "-" + month + "-" + date + " " + hour + ":"
            + minute + ":" + second;
    return endDateStr;
}
 
/**
 * 计算开始时间是否小于结束时间,小于等于返回true,否则false
 * startDateStr:开始时间字符串
 * endDateStr:结束时间字符串
 * 返回:true或false
 *
 *
 */
function chkTime(startDateStr, endDateStr) {
    //计划截止时间
    var startDate = new Date(startDateStr.replace("-", "/").replace("-",
            "/"));
    //计划详细项的截止时间
    var endDate = new Date(endDateStr.replace("-", "/").replace("-", "/"));
    if (startDate <= endDate) {
        return true;
    } else {
        return false;
    }
}

 

JS日期比较大小 给定时间和持续时间计算最终时间的更多相关文章

  1. js 日期比较大小,js判断日期是否在区间内,js判断时间段是否在另外一个时间段内

    /** * 日期解析,字符串转日期 * @param dateString 可以为2017-02-16,2017/02/16,2017.02.16 * @returns {Date} 返回对应的日期对 ...

  2. C# MVC 用户登录状态判断 【C#】list 去重(转载) js 日期格式转换(转载) C#日期转换(转载) Nullable<System.DateTime>日期格式转换 (转载) Asp.Net MVC中Action跳转(转载)

    C# MVC 用户登录状态判断   来源:https://www.cnblogs.com/cherryzhou/p/4978342.html 在Filters文件夹下添加一个类Authenticati ...

  3. js两个日期对比大小

     //适合格式(0000-00-00) //日期比较 function dateCompare(startdata, enddata) { var arr = startdata.split(&quo ...

  4. js 日期计算星座 根据生日的月份和日期,一行代码计算星座的js小函数(转)

    本博客根据 开源中国作者清风徐不来 的文章 根据生日的月份和日期,一行代码计算星座的js小函数(转) 原文出自CSDN 无心的专栏 的文章,知识产权归原文作者所有! 点击查看原文:js 日期计算星座

  5. js 比较两个日期的大小的例子

    例子,直接比较大小即可 代码如下 复制代码 <script>var st="2009-10-20 14:38:40"var et="2009-10-20 15 ...

  6. js日期date对象

    js日期 日期对象的一些属性和方法 var date = new Date() date.toString() // "Tue Jan 29 2019 22:58:13 GMT+0800 ( ...

  7. JS获取当前日期时间及JS日期格式化

    Js获取当前日期时间: var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份( ...

  8. JS 日期对象在浏览器间的若干差异

    JS中 ,通过 new Date() 可以获取当前时间 也可以通过 new Date("2013/12/12 8:00:00")的方式,创建某个指定时间对象 在Chrome和FF下 ...

  9. js日期相关函数总结分享

    一个倒计时程序,因为经常要在手机端访问,所以没有引用jquery,对于用习惯jquery的我还真不习惯. 下面简单说明js日期相关函数,并说明实现倒计时的原理 var dateTo=new Date( ...

随机推荐

  1. 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(五)——实现注册功能

    使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化 使用 Flask 框架写用 ...

  2. C#实现软件授权,限定MAC运行(软件license管理,简单软件注册机制)

    一个绿色免安装软件,领导临时要求加个注册机制,不能让现场工程师随意复制.事出突然,只能在现场开发(离开现场软件就不受我们控了).花了不到两个小时实现了简单的注册机制,稍作整理. 基本原理:1.软件一运 ...

  3. SpringBoot+JPA+cache入门

    在pom.xml中加入如下依赖 <dependency> <groupId>org.springframework.boot</groupId> <artif ...

  4. ActiveMQ Could not connect to broker URL

    javax.jms.JMSException: Could not connect to broker URL: http://localhost:8161/. Reason: java.io.IOE ...

  5. Java集合--概述

    目录 Java集合--概述 摘要 图示 正文 Java集合--概述 摘要 ​ 本文主要介绍集合的整体概念,并作为接下来Java集合实现类讲解的索引. 图示 ​ 这是在网上看到了这样一张图,感觉很清晰, ...

  6. golang使用graphviz

    graphviz的介绍请参考: http://www.cnblogs.com/ghj1976/p/4539788.html  安装 graphviz 需要在 http://www.graphviz.o ...

  7. MVC 使用Quartz.Net组件实现定时计划任务

    最近,项目中需要执行一个计划任务,组长就让我了解一下Quartz.net 这个组件,挺简单的一个组件,实现起来特别的方便,灵活,值得推荐给大家一起学习一下这个小工具.以前我有的时候是使用定时器Time ...

  8. Jquery使用Id获取焦点和失去焦点

    Jquery使用Id获取焦点和失去焦点有2种方法 先用第一种(val()=="空"): <div> <input type="text" id ...

  9. Oracle数据库进行撤销

    第一步:在v$sqlarea 这视图里面找到你操作那条SQL的时间;select r.FIRST_LOAD_TIME,r. from v$sqlarea r order by r.FIRST_LOAD ...

  10. Vue2.0项目打包后只能访问首页,其他页面路径错误找不到

    原因是你使用了vue-router的history,可以尝试去掉  // mode:"history",