文档章节

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

ivan-Zhao
 ivan-Zhao
发布于 2015/09/10 11:36
字数 322
阅读 30
收藏 0
        /* 往指定时间字符串上加时间间隔,获得新的时间字符串 
	 * 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;
		}
	}



© 著作权归作者所有

ivan-Zhao
粉丝 10
博文 33
码字总数 29110
作品 0
深圳
程序员
私信 提问
介绍一款时间表(TimeTable)的用法

前言 最近在为某培训机构开发教务管理系统,其中遇到的比较多的就是课表的展示,在google中搜索一番之后,找到了一款比较好的timetable,所以和大家一起分享一下。在线demo: http://timetabl...

算法与编程之美
2014/11/16
3.4K
6
6个强大的JavaScript日期操作插件

我们必须承认,JavaScript内建的Date方法实在是太基础了,远不够我们来处理日期。总有人会开发自己的JavaScript日期操作库,为何在能够使用已经开发并测试好的日期插件时还要再自己造个轮子呢...

彭博
2012/11/27
1K
0
6个强大的JavaScript日期操作插件(翻译)

我们必须承认,JavaScript内建的Date方法实在是太基础了,远不够我们来处理日期。总有人会开发自己的JavaScript日期操作库,为何在能够使用已经开发并测试好的日期插件时还要再自己造个轮子呢...

彭博
2012/03/13
6K
8
需要知道的JS的日期,都在这了

译者:前端小智 原文:css-tricks.com/everything-… 为了保证的可读性,本文采用意译而非直译。 想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你! JS中的 Date 很奇怪。当我...

前端小智
06/26
0
0
一篇文章吃透iOS、JS的时间日期(Date, Calendar, Locale, TimeZone)

iOS 时间相关类 NSDate - 表示一个绝对的时间点。 NSCalendar - 代表一个特定的日历,例如公历或者希伯来日历。它提供了一系列基于日期的计算,并且可以让你在"NSDate"和"NSDateComponents"对...

奶爸码农
2018/05/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

redis 内存信息解析

used_memory:由 Redis 分配器分配的内存总量,包含了redis进程内部的开销和数据占用的内存,以字节(byte)为单位 used_memory_rss:向操作系统申请的内存大小。与 top 、 ps等命令的输出一...

Canaan_
18分钟前
2
0
windows 下 python3 安装 pip setuptools

本文链接:https://blog.csdn.net/huzuxing/article/details/80807744 最近在家使用python的时候,总是报setuptools 模块未找到,于是在网上搜索了相关解决办法,但是都没有解决问题。 于是去...

开源中国首席CYO
24分钟前
2
0
数据库添加索引

mysql索引添加 navicat 步骤 - 选择表 -> 设计表 ->索引

以谁为师
34分钟前
4
0
java7与java9中的try-finally关闭资源

1.java7中的try 在java7之前,对于一些需要使用finally关闭资源的操作,会显得很臃肿. try{//}catch(Exception e){//}finally{if(xxxx != null){xxxx.close();}} 在jav...

Blueeeeeee
36分钟前
2
0
字节序转换详解

在跨平台和网络编程中我们经常会提到网络字节序和主机字节序,如果没有正确对两者进行转换,从而导致两方产生了不同的解释,就会出现意想不到的bug。 目录 0x01 概念 0x02 分类 0x03 两种字节...

无心的梦呓
46分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部