/* 往指定时间字符串上加时间间隔,获得新的时间字符串
 * 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. C#,一些非常简单但应该知道的知识点

    1.本地变量 一看这个标题你可能会一愣,这是个什么东东.看个小例子: static void main(){   int a=10;   MyClass mc=new MyClass();} 呵呵,这 ...

  2. JSONArray排序[收藏]

    问题 JSONArray中嵌套JSONObject, 对JSONArray进行排序 排序前: [{"id":1,"name":"ljw"}, ...

  3. 哪个类可用于处理 Unicode?

    A. InputStreanReader的构造函数: InputStreamReader(InputStream in)          创建一个使用默认字符集的 InputStreamReader ...

  4. Java注解(三)

    上一篇了解了自定义注解的使用,不过里面的例子没有多大使用价值,这一回来个有用点的Demo. 目标:将实体bean保存到数据库 先来定义一个实体注解 import java.lang.annotatio ...

  5. 转:nginx 官方drupal 配置 - Drupal | NGINX

    #参考:nginx 官方drupal 配置 - Drupal | NGINX server { server_name example.com; root /var/www/drupal8; ## & ...

  6. react解决roadhog buildDll 【转】

    本地删了 node module 目录,重新安装的时候,提示 找了找,可如下解决 ------- 转自: https://www.cnblogs.com/huhanhaha/p/7605722.htm ...

  7. arcengine 正确绑定办法

    if (!RuntimeManager.Bind(ProductCode.Engine)) { if (!RuntimeManager.Bind(ProductCode.Desktop)) { Mes ...

  8. linux 软件包安装方式选择、安装位置、源码包安装

    对外提供服务,比如apache,应使用源码包安装对内提供服务,比如gcc,只是我自己使用,使用rpm包安装 rpm包不需要指定安装位置,源码包的安装需要手动指定安装位置 rpm包默认安装位置/etc/ ...

  9. doPost方法不支持 a 标签和地址栏直接输入地址访问

    demo <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  10. Storm并行度

    1.Storm并行度相关的概念 Storm集群有很多节点,按照类型分为nimbus(主节点).supervisor(从节点),在conf/storm.yaml中配置了一个supervisor有多个槽( ...