Javascript中如何比较时间大小? 问题补充,还要判断2个文本框的内容是否是时间格式(YYYY-MM-DD)。如何判断啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 日期增减/日期差值计算 //日期增减Date.prototype.addTime = function(num,mode){ //code by windy_sk , [email protected] if(!/[\-]?[\d]+/g.test(num)) return this; var base =60*60*24*1000; var result = this.getTime(); switch(mode){ case y: result+=base*365*num; break; case m: result+=base*30*num; break; case w: result+=base*7*num; break; default: result+=base*num; } return(new Date(result));}//alert((new Date()).addTime(10,w))//alert((new Date()).addTime(-50,d)) //日期差值Date.prototype.DayDiff = function(cDate,mode){ //code by windy_sk , [email protected] try{ cDate.getYear(); }catch(e){ return(0); } var base =60*60*24*1000; var result = Math.abs(this - cDate); switch(mode){ case y: result/=base*365; break; case m: result/=base*365/12; break; case w: result/=base*7; break; default: result/=base; break; } return(Math.floor(result));}//alert((new Date()).DayDiff((new Date(2002,0,1)))) Javascript日期函数 Date(日期)对象可以使用Date()构造器来创建,在前面的教程中我们已经介绍了Date()构造器,这里就不重复叙述。它没有参数,返回的数值就是当前的日期。下面的表格显示了为日期构造器的有效输入:var today = new Date(); 返回当前的日期和时间 var newyear = new Date(December 31, 1998 23:59:59); 输入的是表单的字符串 “月 日,年 小时:分钟:秒” var bday = new Date(75, 1, 16); 参数是年份,月,日 var bday = new Date(75, 1, 16, 12, 0, 0); 参数是年份,月,日,小时,分钟,秒 这里作点补充:月份是从0开始的,比如一月份=0,二月份=1,三月份=3等等。从上面可以看出创建一个日期对象是相对地简单,以下的表格是一系列的函数可以用于改变或者访问这些对象的属性:日期访问方法Method(方法) Description (描述) Value(数值) getYear() 返回年份的最后两位数字 2001 getMonth() 返回年份中的第几月(0到11) 5 getDate() 返回月份中的第几日(1到31) 2 getDay() 返回星期中的第几天 (0到6) 6 getTimezoneOffset() 返回当地时间与格林尼治天文台平均时间的差别 -480 (-8h) getHours() 返回一天中的时针点数(0到23) 16 getMinutes() 返回分钟 (0..59) 8 getSeconds() 返回时间的秒 (0到59) 24 getTime() 返回自从公元1970年1月1日的毫秒数 991469304470 这里注意:IE浏览器的一些版本返回Timezoneoffset数值是用错误的符号,比如用”-”代替”+”等等。日期设置方法setDate() 设置每月中的第几天(从0到30) setHours() 设置小时(从0到23) setMinutes() 设置分钟(从0到59) setMonth() 设置月份(从0到11) setSeconds() 设置秒数(从0到59) setTime() 设置时间(从公元以来的毫秒数) setYear() 设置年份 其它的日期方法parse 转化日期字符串为自从公元以来的毫秒数,比如Date.parse(“date string”) toString() Sat Jun 2 16:08:24 UTC+0800 2001 toGMTString() Sat, 2 Jun 2001 08:08:24 UTC toLocaleString() 2001年6月2日 16:08:24 所有的这些函数引用于独立的日期对象。如果你具有深厚的Java编程背景,那么你可以将它们认为是Date类的一些公共的方法而已。下面给出一个典型的例子来设置日期对象到当前时间加1年: var nextYear = new Date(); // 初始化日期对象nextyear.setYear(nextYear.getYear() + 1); // 增加1年实际上,parse函数是Date对象的一个方法,而不是一个独立的日期变量,如果使用Java术语,它就称为Date类的一个静态方法。这个正是我们为什么使用Date.pase()而不使用somedate.parse()的原因啦。 Date()对象的大小值你可以直接的作相减运算,它会以getTime()的值来比较大小,看结果... Multiple markers at this line Unexpected end of comment JQ 获取TABLE某列的和 问一个关于URL编码的问题 100分求js效果 area map热点鼠标移动上显示div 图层 firefox和ie都支持的QQ客服 如何实现这个效果啊? iframe中的网页如何控制上层元素 如何实现党一个页面被打开时,如果在框架内,就跳到框架外执行 netscape4.7 这个页面怎样做 如何读取客户端注册表里面的值? 出去做项目时看到别人这个效果,不知道是怎么做的.
//日期增减
Date.prototype.addTime = function(num,mode){
//code by windy_sk , [email protected]
if(!/[\-]?[\d]+/g.test(num)) return this;
var base =60*60*24*1000;
var result = this.getTime();
switch(mode){
case y:
result+=base*365*num;
break;
case m:
result+=base*30*num;
break;
case w:
result+=base*7*num;
break;
default:
result+=base*num;
}
return(new Date(result));
}
//alert((new Date()).addTime(10,w))
//alert((new Date()).addTime(-50,d))
//日期差值
Date.prototype.DayDiff = function(cDate,mode){
//code by windy_sk , [email protected]
try{
cDate.getYear();
}catch(e){
return(0);
}
var base =60*60*24*1000;
var result = Math.abs(this - cDate);
switch(mode){
case y:
result/=base*365;
break;
case m:
result/=base*365/12;
break;
case w:
result/=base*7;
break;
default:
result/=base;
break;
}
return(Math.floor(result));
}
//alert((new Date()).DayDiff((new Date(2002,0,1))))
Date(日期)对象可以使用Date()构造器来创建,在前面的教程中我们已经介绍了Date()构造器,这里就不重复叙述。它没有参数,返回的数值就是当前的日期。下面的表格显示了为日期构造器的有效输入:var today = new Date();
返回当前的日期和时间
var newyear = new Date(December 31, 1998 23:59:59);
输入的是表单的字符串 “月 日,年 小时:分钟:秒”
var bday = new Date(75, 1, 16);
参数是年份,月,日
var bday = new Date(75, 1, 16, 12, 0, 0);
参数是年份,月,日,小时,分钟,秒
这里作点补充:月份是从0开始的,比如一月份=0,二月份=1,三月份=3等等。从上面可以看出创建一个日期对象是相对地简单,以下的表格是一系列的函数可以用于改变或者访问这些对象的属性:日期访问方法Method(方法)
Description (描述)
Value(数值)
getYear()
返回年份的最后两位数字
2001
getMonth()
返回年份中的第几月(0到11)
5
getDate()
返回月份中的第几日(1到31)
2
getDay()
返回星期中的第几天 (0到6)
6
getTimezoneOffset()
返回当地时间与格林尼治天文台平均时间的差别
-480 (-8h)
getHours()
返回一天中的时针点数(0到23)
16
getMinutes()
返回分钟 (0..59)
8
getSeconds()
返回时间的秒 (0到59)
24
getTime()
返回自从公元1970年1月1日的毫秒数
991469304470
这里注意:IE浏览器的一些版本返回Timezoneoffset数值是用错误的符号,比如用”-”代替”+”等等。日期设置方法setDate()
设置每月中的第几天(从0到30)
setHours()
设置小时(从0到23)
setMinutes()
设置分钟(从0到59)
setMonth()
设置月份(从0到11)
setSeconds()
设置秒数(从0到59)
setTime()
设置时间(从公元以来的毫秒数)
setYear()
设置年份
其它的日期方法parse
转化日期字符串为自从公元以来的毫秒数,比如Date.parse(“date string”)
toString()
Sat Jun 2 16:08:24 UTC+0800 2001
toGMTString()
Sat, 2 Jun 2001 08:08:24 UTC
toLocaleString()
2001年6月2日 16:08:24
所有的这些函数引用于独立的日期对象。如果你具有深厚的Java编程背景,那么你可以将它们认为是Date类的一些公共的方法而已。下面给出一个典型的例子来设置日期对象到当前时间加1年: var nextYear = new Date(); // 初始化日期对象nextyear.setYear(nextYear.getYear() + 1); // 增加1年实际上,parse函数是Date对象的一个方法,而不是一个独立的日期变量,如果使用Java术语,它就称为Date类的一个静态方法。这个正是我们为什么使用Date.pase()而不使用somedate.parse()的原因啦。