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;
}
};
分享到:
相关推荐
在这个实例小结中,我们将探讨5个JavaScript日期时间操作的例子,帮助理解如何在JavaScript中处理日期和时间。 1. 指定位置的时钟显示 这个例子创建了一个始终位于网页中间的12小时制时钟。通过`Date`对象获取当前...
JavaScript 日期时间选择器在网页应用中经常被用于提供用户友好的交互,使得用户能够方便地选择日期或时间。在众多的选择器库中,`flatpickr` 是一个备受推崇的选项,它以其轻量级、高效能和高度可定制的特点而受到...
此外,第二种方法还提供了更丰富的格式选项,如星期的显示,适用于需要更复杂日期格式化需求的应用场景。 ### 使用建议 虽然上述两种方法非常实用,但在实际项目中也需要注意以下几点: - **性能问题**:频繁地修改...
JavaScript中的日期格式化是一个常见的需求,开发者通常需要将日期和时间按照一定的格式输出显示,例如在网页上显示用户的注册日期或者文章的发布日期。在本文中,我们将探讨JavaScript中的日期格式化方法,包括使用...
JavaScript是一种广泛应用于网页和网络应用开发的脚本语言,它主要负责在客户端处理网页的交互逻辑。...实践这些小项目有助于提升对JavaScript的掌握,为更复杂的网页和应用程序开发打下坚实基础。
全书共分10篇,主要包括JavaScript的时间日期类、文本、鼠标、图片、页面等特效、页面技巧与页面游戏、导航菜单、Cookie和JavaScript的综合技巧等方面,涉及了JavaScript的网络应用的绝大部分内容。针对每个实例给出...
JavaScript是一种用于开发Internet客户端应用的基于事件的脚本语言,它也是一套与超文本标记语言HTML紧密结合的脚本...针对每个实例给出了实例说明、编程思路、程序说明、实例效果和小结等部分,具有很高的实用价值。
通过以上操作方法,我们可以看到JavaScript的引用类型提供了高度灵活和强大的数据操作能力,使得处理数组、对象、日期以及文本匹配等操作变得非常方便。学习和掌握这些方法,对于开发高质量的Web应用至关重要。
”小测试的简介1.6 小结第2章 avaScript中的数据类型与变量2.1 JavaScript中的数据类型2.2 变量——保存在内存中的数据2.3 设置浏览器以显示错误信息2.4 使用数据——计算数值及字符串的基本操作2.5 数据类型转换2.6...
总的来说,JavaScript的时间和日期处理是一门实用且重要的技术,理解和掌握这些函数可以帮助开发者更好地实现动态的Web应用程序。通过不断学习和实践,你可以更加熟练地运用这些工具,提升Web应用的用户体验。
源文件程序天下JAVASCRIPT实例自学手册 第1章 JavaScript语言概述 1.1 JavaScript是什么 1.1.1 JavaScript简史 1.1.2 JavaScript有何特点 1.2 JavaScript能做什么 1.2.1 表单数据合法性验证 ...8.4 本章小结
JavaScript中的正则表达式应用实例 - **只允许输入中文**: ```javascript onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text...
JavaScript中的引用类型主要包括Object、Array、Date和RegExp等,这些类型在编程中有着广泛的应用,以下是对它们常用操作方法的详细解析。 **Object类型** 在JavaScript中,Object是最基础的数据结构,可以用来创建...
3.5 小结 3.6 习题第4章 JavaScript——基于对象的语言第5章 浏览器程序设计第6章 HTML表单——与用户进行交互第7章 窗体和框架第8章 字符串操作第9章 日期、时间和计时器第10章 常见错误、调试和错误处理第11章 ...
总结来说,文件内容涉及了JavaScript对象的使用方法、Date对象的实际应用(倒计时功能)以及正则表达式的简单示例。以上知识点是JavaScript编程中非常基础且核心的部分,它们在处理文本数据、操作日期时间以及进行...
在网站开发中,经常需要从数据库中读取日期时间信息。例如,如果数据库中存储的时间格式为字符串 `"2023-04-09T12:00:00"`,那么在提取月份时,使用`parseInt("09", 10)`可以确保正确转换。 2. **表单验证** 在...
JavaScript是一种广泛用于...这只是JavaScript基础知识的一个小结,实际中JavaScript还有更多的特性和应用,包括对象、类、模块、事件处理、AJAX、Promise、异步编程等复杂概念。不断学习和实践是掌握这门语言的关键。
JavaScript电子书,包括了JavaScript的大部分知识,可以帮助读者快速入门。内容如下: 第1章 JavaScript语言概述 1.1 JavaScript是什么 1.1.1 JavaScript简史 1.1.2 JavaScript有何特点 ...8.4 本章小结