DateDiff 函数
请参阅
DateAdd 函数 | DatePart 函数
要求
版本2
返回两个日期之间的时间间隔。DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])
DateDiff 函数的语法有以下参数:参数
interval 
必选项。字符串表达式表示用于计算 date1 和 date2 之间的时间间隔。有关数值,请参阅“设置”部分。 
date1, date2 
必选项。日期表达式。用于计算的两个日期。 
Firstdayofweek 
可选项。指定星期中第一天的常数。如果没有指定,则默认为星期日。有关数值,请参阅“设置”部分。 
Firstweekofyear 
可选项。指定一年中第一周的常数。如果没有指定,则默认为 1 月 1 日所在的星期。有关数值,请参阅“设置”部分。 
设置
interval 参数可以有以下值:设置 描述 
yyyy 年 
q 季度 
n 月 
y 一年的日数 
d 日 
w 一周的日数 
ww 周 
h 小时 
m 分钟 
s 秒 firstdayofweek 参数可以有以下值:常数 值 描述 
vbUseSystemDayOfWeek 0 使用区域语言支持 (NLS) API 设置。 
vbSunday 1 星期日(默认) 
vbMonday 2 星期一 
vbTuesday 3 星期二 
vbWednesday 4 星期三 
vbThursday 5 星期四 
vbFriday 6 星期五 
vbSaturday 7 星期六 firstweekofyear 参数可以有以下值:常数 值 描述 
vbUseSystem 0 使用区域语言支持 (NLS) API 设置。 
vbFirstJan1 1 由 1 月 1 日所在的星期开始(默认)。 
vbFirstFourDays 2 由在新年中至少有四天的第一周开始。 
vbFirstFullWeek 3 由在新的一年中第一个完整的周开始。 说明
DateDiff 函数用于判断在两个日期之间存在的指定时间间隔的数目。例如可以使用 DateDiff 计算两个日期相差的天数,或者当天到当年最后一天之间的星期数。要计算 date1 和 date2 相差的天数,可以使用“一年的日数”(“y”)或“日”(“d”)。当 interval 为“一周的日数”(“w”)时,DateDiff 返回两个日期之间的星期数。如果 date1 是星期一,则 DateDiff 计算到 date2 之前星期一的数目。此结果包含 date2 而不包含 date1。如果 interval 是“周”(“ww”),则 DateDiff 函数返回日历表中两个日期之间的星期数。函数计算 date1 和 date2 之间星期日的数目。如果 date2 是星期日,DateDiff 将计算 date2,但即使 date1 是星期日,也不会计算 date1。如果 date1 晚于 date2,则 DateDiff 函数返回负数。firstdayofweek 参数会对使用“w”和“ww”间隔符号的计算产生影响。如果 date1 或 date2 是日期文字,则指定的年度会成为日期的固定部分。但是如果 date1 或 date2 被包括在引号 (" ") 中并且省略年份,则在代码中每次计算 date1 或 date2 表达式时,将插入当前年份。这样就可以编写适用于不同年份的程序代码。在 interval 为“年”(“yyyy”)时,比较 12 月 31 日和来年的 1 月 1 日,虽然实际上只相差一天,DateDiff 返回 1 表示相差一个年份。下面的示例利用 DateDiff 函数显示今天与给定日期之间间隔天数: Function DiffADate(theDate)
   DiffADate = "从当天开始的天数:" & DateDiff("d", Now, theDate)
End Function

解决方案 »

  1.   

    <SCRIPT LANGUAGE="JavaScript">
    document.write (Date.parse(new Date()))
    </SCRIPT>
      

  2.   

    <SCRIPT LANGUAGE="JavaScript">
    function GetTimeTest(testdate){
       var s, t;                    // 声明变量。
       var MinMilli = 1000 * 60;       // 初始化变量。
       var HrMilli = MinMilli * 60;
       var DyMilli = HrMilli * 24;
       t = Date.parse(testdate);       // 解析 testdate。
       s = "There are "                // 创建返回的字符串。
       s += Math.round(Math.abs(t / DyMilli)) + " days "
       s += "between " + testdate + " and 1/1/70";
       return(s);                      // 返回结果。
    }
    document.write(GetTimeTest(new Date()))
    </SCRIPT>
      

  3.   

    <SCRIPT LANGUAGE="JavaScript">
    function GetTimeTest(testdate){
       var s, t;                    // 声明变量。
       var MinMilli = 1000 * 60;       // 初始化变量。
       var HrMilli = MinMilli * 60;
       var DyMilli = HrMilli * 24;
       t = Date.parse(testdate);       // 解析 testdate。
       s = "There are "                // 创建返回的字符串。
       s += Math.round(Math.abs(t / DyMilli)) + " days "
       s += "between " + testdate + " and 1/1/70";
       return(s);                      // 返回结果。
    }
    document.write(GetTimeTest(new Date()))
    </SCRIPT>
      

  4.   

    我知道用VBSCRIPT会比较好解决一些,但是jsp是不支持VBSCRIPT的,还望各位大哥帮小弟解决一下。
      

  5.   

    <!--转贴(是论坛上某大侠的大作,忘了名了)-->
    /*****************************
    返回两个时间的天数:要求比较的日期的格式为:YYYY-MM-DD
    *****************************/
    function getDays(strDateStart,strDateEnd)
    {
    var strSeparator = "-"; //日期分隔符
    var strDateArrayStart;
    var strDateArrayEnd;
    var intDay;
    strDateArrayStart = strDateStart.split(strSeparator);
    strDateArrayEnd = strDateEnd.split(strSeparator);
    var strDateS = new Date(strDateArrayStart[0] + "/" + strDateArrayStart[1] + "/" + strDateArrayStart[2]);
    var strDateE = new Date(strDateArrayEnd[0] + "/" + strDateArrayEnd[1] + "/" + strDateArrayEnd[2]);
    intDay = (strDateE-strDateS)/(1000*3600*24);
    if(isNaN(intDay)==false) 
    return intDay;
    else
    return -1;
    } 你改一下就返回小时了啊