问题补充,还要判断2个文本框的内容是否是时间格式(YYYY-MM-DD)。如何判断啊?

解决方案 »

  1.   

    日期增减/日期差值计算 
    //日期增减
    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)))) 
      

  2.   

    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()的原因啦。 
     
      

  3.   

    Date()对象的大小值你可以直接的作相减运算,它会以getTime()的值来比较大小,看结果...