- 浏览: 89743 次
- 性别:
- 来自: 济南
最新评论
//日期自动补零程序
function appendZero(n)
{
return(("00"+ n).substr(("00"+ n).length-2));
}
//获得当年当月最大天数
function GetMonthMaxDay(theYear,theMonth){
var theDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var theMonthDay = 0, tmpYear = this.formatYear(theYear);
theMonthDay = theDays[theMonth];
if (theMonth == 1){ //theMonth is February
if (((tmpYear % 4 == 0) && (tmpYear % 100 != 0)) || (tmpYear % 400 == 0)){
theMonthDay++;
}
}
return(theMonthDay);
}
//把年份格式化成4位
function formatYear(theYear){
var tmpYear = parseInt(theYear,10);
if (tmpYear < 100){
tmpYear += 1900;
if (tmpYear < 1940){
tmpYear += 100;
}
}
if (tmpYear < this.MinYear){
tmpYear = this.MinYear;
}
if (tmpYear > this.MaxYear){
tmpYear = this.MaxYear;
}
return(tmpYear);
}
//对javascript日期进行格式化
//formattype是返回的时间类型
//返回:返回时间串
function formatDate(day,formattype){
var dateString = "";
var thisyear = formatYear(day.getFullYear());
var thismonth = appendZero(day.getMonth()+1);
var thisday = appendZero(day.getDate());
var thishour = appendZero(day.getHours());
var thismin = appendZero(day.getMinutes());
var thissec = appendZero(day.getSeconds());
switch (formattype){
case 0:
dateString = thisyear + "年" + thismonth + "月" + thisday + "日";
break;
case 1:
dateString = thisyear + "-" + thismonth + "-" + thisday;
break;
case 2:
dateString = thisyear + "-" + thismonth + "-" + thisday+ " " + appendZero(thishour) + ":" + appendZero(thismin) + ":" + appendZero(thissec);
break;
default:
dateString = thisyear + "-" + thismonth + "-" + thisday;
}
return dateString;
}
//取得本周第一天
function getWeekFirstDay(formattype)
{
var Nowdate=new Date();
var WeekFirstDay=new Date(Nowdate-(Nowdate.getDay()-1)*86400000);
return formatDate(WeekFirstDay,formattype);
}
//取得本周第七天
function getWeekLastDay(formattype)
{
var Nowdate=new Date();
var WeekFirstDay=new Date(Nowdate-(Nowdate.getDay()-1)*86400000);
var WeekLastDay=new Date((WeekFirstDay/1000+6*86400)*1000);
return formatDate(WeekLastDay,formattype);
}
function testDate() {
var Nowdate=new Date();
//本月
var MonthFirstDay=new Date(Nowdate.getFullYear(),Nowdate.getMonth(),1);
alert(MonthFirstDay.getFullYear())
alert(appendZero(MonthFirstDay.getMonth()+1))
//上月
var lastMonth = new Date(Nowdate.getFullYear(),Nowdate.getMonth()-1,1);
alert(lastMonth.getFullYear())
alert(appendZero(lastMonth.getMonth()+1))
}
//取得本月第一天
function getMonthFirstDay(formattype)
{
var Nowdate=new Date();
var MonthFirstDay=new Date(Nowdate.getFullYear(),Nowdate.getMonth(),1);
return formatDate(MonthFirstDay,formattype);
}
//取得本月最后一天
function getMonthLastDay(formattype)
{
var Nowdate=new Date();
var MonthNextFirstDay=new Date(Nowdate.getFullYear(),Nowdate.getMonth()+1,1);
var MonthLastDay=new Date(MonthNextFirstDay-86400000);
return formatDate(MonthLastDay,formattype);
}
function getDateFromString(strDate){
var arrYmd = strDate.split("-");
for(var i=0;i<arrYmd.length;i++){
if(arrYmd[i].length>1 && arrYmd[i].indexOf("0")==0)
arrYmd[i]= arrYmd[i].substring(1);
}
var numYear = parseInt(arrYmd[0]);
var numMonth = parseInt(arrYmd[1]) - 1;
var numDay = parseInt(arrYmd[2]);
return new Date(numYear, numMonth, numDay);
}
/*
下列函数返回需要的时间 偏移值不能大于30
参数:dadd是日偏移值,-表示向前推,+向后推
formattype是返回的时间类型
返回:返回时间串
*/
function getDiffDate(dadd,formattype)
{
//可以加上错误处理
var a = new Date();
a = a.valueOf();
a = a + dadd * 24 * 60 * 60 * 1000;
a = new Date(a);
return formatDate(a,formattype);
}
//getDiffDate(+2,0)
//取得指定日期的年月日时分秒
//参数:dateValue 是格式形如:2007/04/05
function TimeCom(dateValue){
var newCom = new Date(dateValue);
this.year = newCom.getFullYear();
this.month = newCom.getMonth()+1;
this.day = newCom.getDate();
this.hour = newCom.getHours();
this.minute = newCom.getMinutes();
this.second = newCom.getSeconds();
this.msecond = newCom.getMilliseconds();
this.week = newCom.getDay();
}
//取得两个日期之间的时间差
//参数:interval : y或year-表示取得相差的年份 n或month-表示相差的月份 d或day表示相差的天数 h或hour-表示相差的小时 m或minute-表示相差的分钟 s或second-表示相差的秒数 ms或msecond-表示相差的毫秒数 w或week-表示相差的周数
// date1:起始日期
// date2:结束日期
function DateDiff(interval,date1,date2)
{
var TimeCom1 = new TimeCom(date1);
var TimeCom2 = new TimeCom(date2);
var result;
switch(String(interval).toLowerCase())
{
case "y":
case "year":
result = TimeCom1.year-TimeCom2.year;
break;
case "n":
case "month":
result = (TimeCom1.year-TimeCom2.year)*12+(TimeCom1.month-TimeCom2.month);
break;
case "d":
case "day":
result = Math.round((Date.UTC(TimeCom1.year,TimeCom1.month-1,TimeCom1.day)-Date.UTC(TimeCom2.year,TimeCom2.month-1,TimeCom2.day))/(1000*60*60*24));
break;
case "h":
case "hour":
result = Math.round((Date.UTC(TimeCom1.year,TimeCom1.month-1,TimeCom1.day,TimeCom1.hour)-Date.UTC(TimeCom2.year,TimeCom2.month-1,TimeCom2.day,TimeCom2.hour))/(1000*60*60));
break;
case "m":
case "minute":
result = Math.round((Date.UTC(TimeCom1.year,TimeCom1.month-1,TimeCom1.day,TimeCom1.hour,TimeCom1.minute)-Date.UTC(TimeCom2.year,TimeCom2.month-1,TimeCom2.day,TimeCom2.hour,TimeCom2.minute))/(1000*60));
break;
case "s":
case "second":
result = Math.round((Date.UTC(TimeCom1.year,TimeCom1.month-1,TimeCom1.day,TimeCom1.hour,TimeCom1.minute,TimeCom1.second)-Date.UTC(TimeCom2.year,TimeCom2.month-1,TimeCom2.day,TimeCom2.hour,TimeCom2.minute,TimeCom2.second))/1000);
break;
case "ms":
case "msecond":
result = Date.UTC(TimeCom1.year,TimeCom1.month-1,TimeCom1.day,TimeCom1.hour,TimeCom1.minute,TimeCom1.second,TimeCom1.msecond)-Date.UTC(TimeCom2.year,TimeCom2.month-1,TimeCom2.day,TimeCom2.hour,TimeCom2.minute,TimeCom2.second,TimeCom1.msecond);
break;
case "w":
case "week":
result = Math.round((Date.UTC(TimeCom1.year,TimeCom1.month-1,TimeCom1.day)-Date.UTC(TimeCom2.year,TimeCom2.month-1,TimeCom2.day))/(1000*60*60*24)) % 7;
break;
default:
result = "invalid";
}
return(result);
}
/*
下列函数返回需要的时间 偏移值不能大于30
参数:interval : y或year-表示取得相差的年份 n或month-表示相差的月份 d或day表示相差的天数 h或hour-表示相差的小时 m或minute-表示相差的分钟 s或second-表示相差的秒数 ms或msecond-表示相差的毫秒数 w或week-表示相差的周数
num是偏移值,-表示向前推,+向后推
dateValue 指定的日期
formattype是返回的时间类型
返回:返回时间串
*/
function DateAdd(interval,num,dateValue,formattype)
{
var newCom = new TimeCom(dateValue);
switch(String(interval).toLowerCase())
{
case "y": case "year": newCom.year += num; break;
case "n": case "month": newCom.month += num; break;
case "d": case "day": newCom.day += num; break;
case "h": case "hour": newCom.hour += num; break;
case "m": case "minute": newCom.minute += num; break;
case "s": case "second": newCom.second += num; break;
case "ms": case "msecond": newCom.msecond += num; break;
case "w": case "week": newCom.day += num*7; break;
default: return("invalid");
}
var now = newCom.year+"/"+newCom.month+"/"+newCom.day+" "+newCom.hour+":"+newCom.minute+":"+newCom.second;
return formatDate(new Date(now),formattype);
}
//alert(DateAdd('d',-30,new Date(),0));
//取得当前日期
function getToDay(formattype){
var Nowdate=new Date();
M=Number(Nowdate.getMonth())+1;
Nowdate = new Date(Nowdate.getFullYear()+"/"+M+"/"+Nowdate.getDate());
return formatDate(Nowdate,formattype);
}
//上月第一天
function getPreviousFirstDay(formattype)
{
var Nowdate=new Date();
var MonthFirstDay=new Date(Nowdate.getFullYear(),Nowdate.getMonth()-1,1);
return formatDate(MonthFirstDay,formattype);
}
//上月最后一天
function getPreviousLastDay(formattype)
{
var Nowdate=new Date();
var MonthFirstDay=new Date(Nowdate.getFullYear(),Nowdate.getMonth(),1);
return formatDate(new Date(MonthFirstDay-86400000),formattype);
}
//上周第一天
function getPreviousFirstWeekDay(formattype)
{
var Nowdate=new Date();
var WeekFirstDay=new Date(Nowdate-(Nowdate.getDay()-1)*86400000);
WeekFirstDay=new Date(WeekFirstDay-86400000*7);
return formatDate(WeekFirstDay,formattype);
}
//上周最后一天
function showPreviousLastWeekDay(formattype)
{
var Nowdate=new Date();
var WeekFirstDay=new Date(Nowdate-(Nowdate.getDay()-1)*86400000);
WeekFirstDay = new Date(WeekFirstDay-86400000);
return formatDate(WeekFirstDay,formattype);
}
//上一天
function getPreviousDay(formattype)
{
var MonthFirstDay=new Date();
MonthFirstDay = new Date(MonthFirstDay-86400000);
return formatDate(MonthFirstDay,formattype);
}
//下一天
function getNextDay(formattype)
{
var MonthFirstDay=new Date();
MonthFirstDay = new Date((MonthFirstDay/1000+86400)*1000);
return formatDate(MonthFirstDay,formattype);
}
//下周第一天
function getNextFirstWeekDay(formattype)
{
var Nowdate=new Date();
var WeekFirstDay=new Date(Nowdate-(Nowdate.getDay()-1)*86400000);
var MonthFirstDay=new Date((WeekFirstDay/1000+6*86400)*1000);
MonthFirstDay=new Date((MonthFirstDay/1000+86400)*1000);
return formatDate(MonthFirstDay,formattype);
}
//下周最后一天
function getNextLastWeekDay(formattype)
{
var Nowdate=new Date();
var WeekFirstDay=new Date(Nowdate-(Nowdate.getDay()-1)*86400000);
var WeekLastDay=new Date((WeekFirstDay/1000+6*86400)*1000);
var MonthFirstDay=new Date((WeekLastDay/1000+7*86400)*1000);
return formatDate(MonthFirstDay,formattype);
}
//下月第一天
function getNextFirstDay(formattype)
{
var Nowdate=new Date();
var MonthFirstDay=new Date(Nowdate.getFullYear(),Nowdate.getMonth(),1);
MonthFirstDay=new Date(MonthFirstDay.getYear(),MonthFirstDay.getMonth()+1,1);
return formatDate(MonthFirstDay,formattype);
}
//下月最后一天
function getNextLastDay(formattype)
{
var Nowdate=new Date();
var MonthFirstDay=new Date(Nowdate.getFullYear(),Nowdate.getMonth(),1);
MonthFirstDay=new Date(new Date(MonthFirstDay.getYear(),MonthFirstDay.getMonth()+2,1)-86400000);
return formatDate(MonthFirstDay,formattype);
}
function getDateList(){
var d = new Date('2007/07/07');
alert(d.getMonth())
}
发表评论
-
润乾导出Excel时不弹出提示框
2015-04-02 18:50 578通常我们在浏览报表的时候,可以通过润乾自带的标签实现导出E ... -
js正则表达式常规使用
2013-08-25 07:18 666一 javascript正则表达式的基本知识1 jav ... -
js控制关闭子页面,并刷新其父页面
2013-05-09 20:25 5363js控制弹出页面 window.open(url, &qu ... -
js相关的类型转换
2012-06-26 09:38 786一、类型转换 1.转换成字串 ECMAScript的Bo ... -
JS计算两个时间相差的分钟数
2011-09-22 17:04 17413<script type="text/j ... -
js 函数延迟执行
2011-09-22 13:33 2038设置指定的JS函数在指定的时间后执行,可以利用setTimeo ... -
JS对日期的操作
2011-05-06 15:29 606项目需要一个这样的 ... -
一个简单的AJAX异步通信实例
2011-04-27 13:46 1103textarea失去焦点时异步提交 index.jsp关 ... -
window.showModalDialog使用手册
2011-02-28 10:04 740基本介绍: showModalDialog( ... -
js数组传入后台非ajax实现
2011-02-23 17:48 997以前是通过AJAX从后台数据显示在页面,每条数据前加入一个ch ... -
Js实现checkbox全选和全不选
2011-02-23 15:38 819只做checkbox的全选的话,下面的这个例子是个很好的选择: ...
相关推荐
内容概要:本文介绍了如何使用 JavaScript 中的 Date 对象获取各种与日期相关的信息。主要内容包括获取当前一周的所有日期、获取当月所有日期、获取当月的总天数、计算两个日期之间的差异、获取未来若干天的具体日期...
这个示例展示了基本的JavaScript日期处理能力,可以作为学习和理解JavaScript日期操作的起点。然而,实际开发中,通常会使用JavaScript内置的`Date`对象和其提供的方法,如`getDate()`、`setDate()`、`getFullYear()...
Date.prototype.Format 日期格式化 Date.prototype.DateAdd 日期计算 Date.prototype.DateDiff 比较日期差 Date.prototype.toString 日期转字符串 Date.prototype.toArray 日期分割为数组 Date.prototype.DatePart ...
在这个场景中,我们关注的是一个名为“js日期组件二”的压缩包文件,可能包含了一个自定义的JavaScript日期处理库或一个基于现有库(如jQuery UI或Bootstrap Datepicker)的实现。 JavaScript 日期操作主要依赖于...
总结,使用jQuery和JavaScript开发日期多选控件是一个涉及DOM操作、事件处理、第三方库集成的过程。通过理解Date对象、选择合适的日期插件,以及定制功能和响应式设计,你可以创建出满足各种需求的日期选择器。在...
在实际应用中,JavaScript的日期格式化可以使用多种方式实现,包括但不限于自定义函数、使用内置`Date`对象的`toLocaleString`或`toISOString`方法,或者利用第三方库,如Moment.js或date-fns。这些库提供了丰富的...
10. **性能优化**:大型应用中,频繁的日期操作可能会影响性能。通过合理使用事件委托、延迟渲染或复用DOM元素,可以提高日期控件的性能。 总的来说,JS日期控件涉及了JavaScript的基础知识,如对象、事件、DOM操作...
JavaScript日期时间控件是网页开发中常用的一种组件,主要用于用户在网页上选择或输入日期和时间。在JavaScript中,处理日期和时间的核心对象是`Date`。本篇将深入探讨JavaScript日期时间控件的实现原理、使用方法...
在JavaScript中,日期处理是日常开发中不可或缺的一部分。本文将深入探讨JS中的日期选择控件、日期类型验证以及如何计算两个日期之间的差值。 一、JS日期选择控件 在前端开发中,为了提高用户体验,我们经常需要为...
### JavaScript 日期操作详解 在JavaScript中,对日期的操作是一项非常常见的需求,无论是前端开发还是后端脚本处理,都离不开对日期的获取、格式化等操作。本文将详细介绍JavaScript中与日期相关的几种常用方法,...
JavaScript日期选择插件是网页开发中常用的一种工具,主要用于用户在网页上方便地选择日期,常见于表单输入、日历应用以及各种需要处理日期的交互场景。在本压缩包中,你将找到一个js日期插件,它允许开发者自定义...
"网页日期选择js文件" 提供的就是一个JavaScript实现的日期选择功能,使得开发者无需编写复杂的代码就能在网页上添加这种交互式元素。 JavaScript是一种在客户端运行的脚本语言,它对于网页动态交互起着至关重要的...
`WdatePicker`是一款功能丰富的JavaScript日期选择插件,由中国Web开发社区开发,支持多种日期格式,提供多种语言环境,并且具有日期计算、日期限制、日期校验等功能。其使用非常简便,只需要在HTML中添加一个`...
这些库提供了更易用的API,支持复杂的日期操作和国际化。 在压缩包中的"日期选择代码"文件可能就是一个自定义的日期选择器实现,它可能包含了一些DOM操作、事件监听、日期验证以及用户友好的UI设计。而"新建文件夹...
至于压缩包中的文件名列表,它们可能是教程的不同章节,如`chapter12`、`chapter15`等,通常这些文件可能包含了更深入的JavaScript日期操作的实例或讲解。如果想要深入学习,可以查看这些章节的内容,尤其是涉及到...
这篇内容将深入讲解JavaScript日期控件及其使用方法,结合提供的`jsDate.html`和`date.js`文件,我们将学习如何创建和自定义这样的控件。 1. **内置JavaScript日期对象** JavaScript提供了一个内置的`Date`对象,...
在给定的资源中,虽然没有直接提供具体的源码,但我们可以根据标题和标签来推测内容,并结合一般的JS日期操作方法来阐述这一主题。 首先,`Date`对象是JavaScript内置的对象,用于处理日期和时间。创建一个`Date`...
以下是对几款优秀的JavaScript日期插件的详细说明,这些插件能够帮助你精确到日期、小时、分钟甚至秒,提升你的项目质量。 1. **jQuery UI Datepicker** jQuery UI的Datepicker是广泛使用的日期选择器插件,它可以...
在本“JS时间日期源码集锦”中,我们将会探讨JavaScript处理时间日期的各种方法和技巧,以及如何创建炫酷的时间日期相关特效。 一、JavaScript中的日期对象 在JavaScript中,Date对象是内置的构造函数,可以用来...
JavaScript日期选择器是一种常见的网页交互元素,用于帮助用户在网页上方便地选取日期。它通常以日历形式呈现,提供友好的用户界面,使得输入日期变得更加直观和简单。在前端开发中,尤其对于需要用户输入特定日期的...