`
飞天小女警
  • 浏览: 107208 次
  • 性别: Icon_minigender_2
  • 来自: 重庆
社区版块
存档分类
最新评论

JavaScript日期比较应用小结

阅读更多

JavaScript日期比较在平时的工作中用到的很频繁,在这里做一下小小的总结,有利于自己积累,也有利于交流。

/*
 * @discription: 日期计算工具
 * @requires:
 */

	CalendarUtil = {

	/*
	 * @discription: 获取当前日期的日期串.
	 * @return:
	 *	{String} (YYYY-MM-DD)日期字符串.
	 */
	getDate: function() {
		var date = new Date();
		var month = date.getMonth() < 9 ? "0" + (date.getMonth() + 1) : (date.getMonth() + 1);
		var da = date.getDate() <= 9 ? "0" + (date.getDate()) : (date.getDate());
		return (date.getFullYear() + "-" + month + "-" + da);
	},
	
	/*
	 * @discription: 返回几天之后的日期串.
	 * @params:
	 *  date - {String} (YYYY/MM/DD)日期字符串.
	 *  i - {int} 天数.
	 * @return:
	 *	{String} (YYYY/MM/DD)日期字符串.
	 */
	getDateAfter: function(date, i) {
		var r = date.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
		if (r != null) {
			var date = new Date(r[1], r[3]-1, r[4]);
			date.setDate(date.getDate() + i);
			var month = date.getMonth() < 9 ? "0" + (date.getMonth() + 1) : (date.getMonth() + 1);
			var da = date.getDate() <= 9 ? "0" + (date.getDate()) : (date.getDate());
			return date.getFullYear() + "-" + month + "-" + da;
		} else {
			return date;
		}
	},

	/*
	 * @discription: 返回几天之前的日期串.
	 * @params:
	 *  date - {String} (YYYY/MM/DD)日期字符串.
	 *  i - {int} 天数.
	 * @return:
	 *	{String} (YYYY/MM/DD)日期字符串.
	 */
	getDateBefore: function(date, i) {
		var r = date.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
		if (r != null) {
			var date = new Date(r[1], r[3]-1, r[4]);
		date.setDate(date.getDate() - i);
		var month = date.getMonth() < 9 ? "0" + (date.getMonth() + 1) : (date.getMonth() + 1);
		var da = date.getDate() <=9 ? "0" + (date.getDate()) : (date.getDate());
			return date.getFullYear() + "-" + month + "-" + da;
		} else {
			return date;
		}
	},

	/*
	 * @discription: 计算两个日期的天数差.
	 * @params:
	 *  date1 - {String} (YYYY/MM/DD)日期字符串.
	 *  date2 - {String} (YYYY/MM/DD)日期字符串.
	 * @return:
	 *	{string}  天数差.
	 */
	getDateDiff: function(date1, date2) {
		var aDate, oDate1, oDate2, iDays;
		var r1 = date1.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
		oDate1 = new Date(r1[1], r1[3] - 1, r1[4]);

		var r2 = date2.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
		oDate2 = new Date(r2[1], r2[3] - 1, r2[4]);
		iDays = parseInt((oDate1 - oDate2) / 1000 / 60 / 60 / 24);
		return iDays;
	},

	/*
	 * @discription: 计算与当前年份差.
	 * @params:
	 *  date - {String} (YYYY/MM/DD)日期字符串.
	 * @return:
	 *	{int}  与当前年份差.
	 */
	getYearDiff: function(oldDate, newDate) {
		var r1 = oldDate.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
		var oldYear = r1[1];
		var newYear = new Date().getFullYear();
		if (typeof newDate != "undefined") {
			var r2 = newDate.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
			var newYear = r2[1];
		}
		return newYear - oldYear;
	},

	/*
	 * @discription: 获取时期data的星期数(字符串).
	 * @params:
	 *  date - {String} (YYYY/MM/DD)日期字符串.
	 * @return:
	 *	{string}  星期数(字符串).
	 */
	getStrWeek: function(date) {
		var r1 = date.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
		var day = new Date(r1[1], r1[3] - 1, r1[4]).getDay();
		var week = "";
		switch(day) {
			case 0:
				week = "星期日";
				break;
			case 1:
				week = "星期一";
				break;
			case 2:
				week = "星期二";
				break;
			case 3:
				week = "星期三";
				break;
			case 4:
				week = "星期四";
				break;
			case 5:
				week = "星期五";
				break;
			case 6:
				week = "星期六";
				break;
		}
		return week;
	},
	
	/*
	 * @discription: 格式化时间,将yyyy-mm-dd格式成 yyyymmdd
	 * @params:
	 *  date - {String} (YYYY-MM-DD)日期字符串.
	 * @return:
	 *	{int}  yyyymmdd格式日期.
	 */
	formatSJ: function(sj){
     var s=sj.substring(0,4);
     var m=sj.substring(5,7);
     var n=sj.substring(8,10);
     //l+k+p;
     var InsertSJ=s+m+n;
	   return InsertSJ;
    },
   /*
	 * @discription: 判断时间逻辑关系,
	 * @params:
	 *  date1 - {String} (YYYY-MM-DD),date2 -{String} (YYYY-MM-DD)
	 * @return:
	 *	true 逻辑正确,false 逻辑不正确
	 */
	checkStartEnd: function(date1,date2){
	  var s=date1.substring(0,4);
    var m=date1.substring(5,7);
    var n=date1.substring(8,10);
    var startSJ=s+m+n;
    var y=date2.substring(0,4);
    var mon=date2.substring(5,7);
    var da=date2.substring(8,10);
    var endSJ=y+mon+da;
		if(startSJ <= endSJ){
			return true;
		}else{
			return false;
		}
	},
	 /*
	 * @discription: 得到当前时间并格式化成YYYY-MM-DD,
	 * @params:
	 *  
	 * @return:当前日期的格式化字符串 YYYY-MM-DD
	 *	
	 */
 getNowFormatDate: function(){
   var day = new Date();
   var Year = 0;
   var Month = 0;
   var Day = 0;
   var CurrentDate = "";
   //初始化时间
   Year= day.getFullYear();//ie火狐下都可以
   Month= day.getMonth()+1;
   Day = day.getDate(); 
   CurrentDate += Year + "-"; 
   if (Month >= 10 )
   {
    CurrentDate += Month + "-";
   }
   else
   {
    CurrentDate += "0" + Month + "-";
   }
   if (Day >= 10 )
   {
    CurrentDate += Day ;
   }
   else
   {
    CurrentDate += "0" + Day ;
   }
   return CurrentDate;
}
};

 

0
0
分享到:
评论

相关推荐

    JavaScript时间日期操作实例小结【5个示例】

    在这个实例小结中,我们将探讨5个JavaScript日期时间操作的例子,帮助理解如何在JavaScript中处理日期和时间。 1. 指定位置的时钟显示 这个例子创建了一个始终位于网页中间的12小时制时钟。通过`Date`对象获取当前...

    JavaScript 日期时间选择器一些小结

    JavaScript 日期时间选择器在网页应用中经常被用于提供用户友好的交互,使得用户能够方便地选择日期或时间。在众多的选择器库中,`flatpickr` 是一个备受推崇的选项,它以其轻量级、高效能和高度可定制的特点而受到...

    javascript中Date format(js日期格式化)方法小结.docx

    此外,第二种方法还提供了更丰富的格式选项,如星期的显示,适用于需要更复杂日期格式化需求的应用场景。 ### 使用建议 虽然上述两种方法非常实用,但在实际项目中也需要注意以下几点: - **性能问题**:频繁地修改...

    javascript日期格式化方法小结

    JavaScript中的日期格式化是一个常见的需求,开发者通常需要将日期和时间按照一定的格式输出显示,例如在网页上显示用户的注册日期或者文章的发布日期。在本文中,我们将探讨JavaScript中的日期格式化方法,包括使用...

    JavaScript几个小作业

    JavaScript是一种广泛应用于网页和网络应用开发的脚本语言,它主要负责在客户端处理网页的交互逻辑。...实践这些小项目有助于提升对JavaScript的掌握,为更复杂的网页和应用程序开发打下坚实基础。

    突破JavaScript编程实例五十讲

    全书共分10篇,主要包括JavaScript的时间日期类、文本、鼠标、图片、页面等特效、页面技巧与页面游戏、导航菜单、Cookie和JavaScript的综合技巧等方面,涉及了JavaScript的网络应用的绝大部分内容。针对每个实例给出...

    突破javascript编程实例五十讲

    JavaScript是一种用于开发Internet客户端应用的基于事件的脚本语言,它也是一套与超文本标记语言HTML紧密结合的脚本...针对每个实例给出了实例说明、编程思路、程序说明、实例效果和小结等部分,具有很高的实用价值。

    JavaScript中各种引用类型的常用操作方法小结

    通过以上操作方法,我们可以看到JavaScript的引用类型提供了高度灵活和强大的数据操作能力,使得处理数组、对象、日期以及文本匹配等操作变得非常方便。学习和掌握这些方法,对于开发高质量的Web应用至关重要。

    JavaScript入门经典(第3版) 附书源代码.rar

    ”小测试的简介1.6 小结第2章 avaScript中的数据类型与变量2.1 JavaScript中的数据类型2.2 变量——保存在内存中的数据2.3 设置浏览器以显示错误信息2.4 使用数据——计算数值及字符串的基本操作2.5 数据类型转换2.6...

    Javascript猎取当前时间函数和时间操作小结_.docx

    总的来说,JavaScript的时间和日期处理是一门实用且重要的技术,理解和掌握这些函数可以帮助开发者更好地实现动态的Web应用程序。通过不断学习和实践,你可以更加熟练地运用这些工具,提升Web应用的用户体验。

    源文件程序天下JAVASCRIPT实例自学手册

    源文件程序天下JAVASCRIPT实例自学手册 第1章 JavaScript语言概述 1.1 JavaScript是什么 1.1.1 JavaScript简史 1.1.2 JavaScript有何特点 1.2 JavaScript能做什么 1.2.1 表单数据合法性验证 ...8.4 本章小结

    ASP.NET正则表达式应用小结

    JavaScript中的正则表达式应用实例 - **只允许输入中文**: ```javascript onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text...

    JavaScript中各种引用类型的常用操作方法小结_.docx

    JavaScript中的引用类型主要包括Object、Array、Date和RegExp等,这些类型在编程中有着广泛的应用,以下是对它们常用操作方法的详细解析。 **Object类型** 在JavaScript中,Object是最基础的数据结构,可以用来创建...

    JavaScript入门经典(第1版)书源代码

    3.5 小结 3.6 习题第4章 JavaScript——基于对象的语言第5章 浏览器程序设计第6章 HTML表单——与用户进行交互第7章 窗体和框架第8章 字符串操作第9章 日期、时间和计时器第10章 常见错误、调试和错误处理第11章 ...

    javascript对象小结

    总结来说,文件内容涉及了JavaScript对象的使用方法、Date对象的实际应用(倒计时功能)以及正则表达式的简单示例。以上知识点是JavaScript编程中非常基础且核心的部分,它们在处理文本数据、操作日期时间以及进行...

    javaScript parseInt字符转化为数字函数使用小结.docx

    在网站开发中,经常需要从数据库中读取日期时间信息。例如,如果数据库中存储的时间格式为字符串 `"2023-04-09T12:00:00"`,那么在提取月份时,使用`parseInt("09", 10)`可以确保正确转换。 2. **表单验证** 在...

    初识Javascript小结

    JavaScript是一种广泛用于...这只是JavaScript基础知识的一个小结,实际中JavaScript还有更多的特性和应用,包括对象、类、模块、事件处理、AJAX、Promise、异步编程等复杂概念。不断学习和实践是掌握这门语言的关键。

    JavaScript基础和实例代码

    JavaScript电子书,包括了JavaScript的大部分知识,可以帮助读者快速入门。内容如下: 第1章 JavaScript语言概述 1.1 JavaScript是什么 1.1.1 JavaScript简史 1.1.2 JavaScript有何特点 ...8.4 本章小结

Global site tag (gtag.js) - Google Analytics