/* 往指定时间字符串上加时间间隔,获得新的时间字符串
 * 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;
    }
}

 

转载于:https://www.cnblogs.com/telwanggs/p/5305606.html

JS日期比较大小 给定时间和持续时间计算最终时间相关推荐

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

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

  2. js日期比较大小_node.js 内存泄漏的秘密

    每日前端夜话第276篇 翻译:疯狂的技术宅 作者:Giovanny Gongora 来源:nodesource 正文共:3955 字 预计阅读时间:10分钟 一直以来,跟踪 Node.js 的内存泄漏 ...

  3. JS时间日期比较大小

    前一阵做项目要用到日期筛选条件,就临时看些一些网上的一些时间js日期比较大小的博客,我一边看一遍实测,真是坑,讲解粗糙,对于小白很不友好,大多坑人!所以一气之下要写一篇关于日期比较的文章.来吧,这次我 ...

  4. ios使用js日期函数处理时的问题

    在开发过程发现,使用js日期函数new Date()方法求两个时间的差值时出现问题,在浏览器和安卓Android上都正常显示,在苹果iOS上则无法显示 后来发现iOS系统上不支持yyyy-mm-dd的 ...

  5. JS判断两个日期的差或者判断两个日期的大小

    1.判断两个日期的差: /**计算日期天数差的函数-hanliwei-2013-03-14*/ function DateDiff(sDate1,sDate2) { //sDate1和sDate2的格 ...

  6. js 比较啷个日期的大小

    *js 比较啷个日期的大小 function tab(date1,date2){var oDate1 = new Date(date1);var oDate2 = new Date(date2);if ...

  7. js 日期 加天数计算

    js 日期 加天数计算 AddDate=(date, days)=> {//日期计算if (!days) {days = 1;}var date = new Date(date);date.se ...

  8. 正方形类的定义,比较两个日期的大小并计算其间隔天数

    实验项目5:常用实用类 一.实验目的和要求 学会覆盖Object类中常用方法: 学会使用Math类中常用方法: 学会字符串的常用操作: 学会常用日期类的使用方法. 二.实验内容与步骤 1.定义一个名为 ...

  9. js日期加减一天_js日期如何进行加减计算

    [摘要]首先介绍一下大的背景:就是我们的手机端项目涉及到购买会员之后,购买所有的商品都会有相应的折扣.那么我们的后台管理系统就可以指定用户,为其开通会员.核心技术:js日期如何进行加减计算. [作者] ...

最新文章

  1. 《oracle大型数据库系统在AIX/unix上的实战详解》集中讨论42:在AIX环境下安装Oracle11gR1 文平...
  2. 2021 年不可错过的 40 篇 AI 论文,你都读过吗?
  3. 牛客华为机试第1题python
  4. PyTorch基础-Dropout和正则化-05
  5. PyTorch框架学习十三——优化器
  6. python html压缩包,用python制作一个简单html压缩
  7. STM32H743+CubeMX-ADC+DMA采样四路AD
  8. YII2.0之博客实战
  9. web api解决序列化后返回标准时间带T问题
  10. 一位算法工程师从30+场秋招面试中总结出的超强面经——目标检测篇(含答案)...
  11. Java 标注(Annotation)详解
  12. 数论入门整理(updating)
  13. 南航考研计算机学院学硕分数,2019南航计算机学硕经验贴
  14. java jbutton icon 边框_Swing开发JButton图标效果篇
  15. R语言生存分析之竞争风险模型
  16. Ps快捷切图psd文件及将psd内容转化为CSS样式工具(PxCook)
  17. SqlServer 远程主机强迫关闭了一个现有的连接
  18. 2009年以前四川微型计算机设备,『2009年四川省考行测真题』2009年四川省考行测真题资料大全_2009年公务员四川省考行测真题及答案-华图教育...
  19. 【软件推荐】Linux的一些好玩的软件
  20. [转]中国佛学66句震撼世界的禅语

热门文章

  1. python哪个更强大_Ruby和Python哪个更强大?学习分析
  2. (7)ISE14.7无用引脚设置上下拉或高阻态(FPGA不积跬步101)
  3. (95)FPGA二四译码器设计,面试必问(十九)(第19天)
  4. (49)System Verilog 类中数组长度约束
  5. (42)FPGA面试题时钟抖动和时钟偏移
  6. 1018.eclipse工具使用记录
  7. 23.vs2015创建Qt界面动态库
  8. leecode-11盛最多水的容器C版-双指针的使用
  9. 数组名不等于指针---sizeof()函数求数组大小错误问题
  10. Python--turtle绘图模块讲解