ASP中日期相加及相減

2021-05-21 21:32:09 字數 3477 閱讀 6163

在asp中為我們提供了專門的日期加減函式。

1.日期相加

dateadd 函式 

返回已新增指定時間間隔的日期。 

dateadd(interval, number, date) 

dateadd 函式的語法有以下引數 

(1)interval 必選項。字串表示式,表示要新增的時間間隔。有關數值,請參閱「設定」部分。 

(2)number 必選項。數值表示式,表示要新增的時間間隔的個數。數值表示式可以是正數(得到未來的日期)或負數(得到過去的日期)。 

(3)date   必選項。variant 或要新增 interval 的表示日期的文字。 

說明 

可用 dateadd 函式從日期中新增或減去指定時間間隔。例如可以使用 dateadd 從當天算起 30 天以後的日期或從現在算起 45 分鐘以後的時間。要向 date 新增以「日」為單位的時間間隔,可以使用「一年的日數」(「y」)、「日」(「d」)或「一周的日數」(「w」)。 

dateadd 函式不會返回無效日期。如下示例將 95 年 1 月 31 日加上乙個月: 

newdate = dateadd("m", 1, "31-jan-95") 

在這個示例中,dateadd 返回 95 年 2 月 28 日,而不是 95 年 2 月 31 日。如果 date 為 96 年 1 月 31 日,則返回 96 年 2 月 29 日,這是因為 1996 是閏年。 

如果計算的日期是在公元 100 年之前,則會產生錯誤。 

如果 number 不是 long 型值,則在計算前四捨五入為最接近的整數。

2.日期相減

datediff 函式 

返回兩個日期之間的時間間隔。 

datediff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]]) 

datediff 函式的語法有以下引數: 

(1)interval 必選項。字串表示式,表示用於計算 date1 和 date2 之間的時間間隔。有關數值,請參閱「設定」部分。 

(2)date1, date2 必選項。日期表示式。用於計算的兩個日期。 

(3)firstdayofweek 可選項。指定星期中第一天的常數。如果沒有指定,則預設為星期日。有關數值,請參閱「設定」部分。 

(4)firstweekofyear 可選項。指定一年中第一周的常數。如果沒有指定,則預設為 1 月 1 日所在的星期。有關數值,請參閱「設定」部分。 

說明 

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 表示相差乙個年份。

一、asp中兩個日期相加

所用函式:dateadd ( i , n , d )

將乙個日期加上一段期間後的日期。 i :設定乙個日期( date )所加上的一段期間的單位。譬如 interval="d" 表示 n的單位為日。 i的設定值如下:

yyyy year 年

q quarter 季

m month 月

d day 日

w weekday 星期

h hour 時

n minute 分

s second 秒

n :數值表示式,設定乙個日期所加上的一段期間,可為正值或負值,正值表示加(結果為 >date 以後的日期),負值表示減(結果為 >date 以前的日期)。

d :待加減的日期。

例:無標題文件

應用示例,當前日期用date()取系統當前日期

<%

s=date()

str=datediff("d",1,""&s&"") 

response.write str

dateadd ( "m" , 1 , "31-jan-98")

%>

二、asp中兩個日期相減

所用函式:datediff(i , d1 , d2[,fw[,fy]])

計算兩個日期之間的期間。

i :設定兩個日期之間的期間計算之單位。譬如 >i="m" 表示計算的單位為月。 >i 的設定值如:

yyyy > year 年

q quarter 季

m month 月

d day 日

w weekday 星期

h hour 時

n minute 分

s second 秒

d1 ,d2:計算期間的兩個日期表示式,若 >date1 較早,則兩個日期之間的期間結果為正值;若 >date2 較早, 則結果為負值。

fw :設定每週第一天為星期幾, 若未設定表示為星期天。 >fw 的設定值如下:

0 使用 >api 的設定值。

1 星期天

2 星期一

3 星期二

4 星期三

5 星期四

6 星期五

7 星期六

fy :設定一年的第一周, 若未設定則表示一月一日那一周為一年的第一周。 >fy 的設定值如下:

0 使用 >api 的設定值。

1 一月一日那一周為一年的第一周

2 至少包括四天的第一周為一年的第一周

3 包括七天的第一周為一年的第一周

例:無標題文件

<%

s=date()

str=datediff("d","24-04-2006",""&s&"") 

response.write str

datediff ("d","25-mar-99 ","30-jun-99 ")

%>

資料庫時間相減 mysql時間日期相加相減實現

分享篇mysql中日期的一些操作,就是我們常常會用到的mysql時間日期的相加或者相減的了,這個mysql也自己帶了函式,有需要的朋友可以參考一下。最簡單的方法 select to days str to date 12 1 2001 12 00 00 am m d y to days str to...

函式中 日期相減 幾個隱藏函式,我不說你就不知道

開啟excel函式列表,密密麻麻的函式名稱一定會讓你看的眼花繚亂。好在這些函式都有幫助檔案,一些不熟悉的函式在使用時可以看看幫助檔案做一下簡單的了解。excel中,還有幾個隱藏的函式,能夠實現一些現有的函式無法實現的功能。不過excel隱藏函式不是很多,常用到的就三個 numberstring函式 ...

自動化選擇下拉框中日期及日期格式轉化備忘

工作中酒店管理專案,需要經常辦理入住,故寫自動化指令碼下單。以下是過程中遇到的一些小坑,先mark起來。由於外掛程式預設的日期格式是 2018 9 14 而使用python的datetime 模組生成日期格式是 2018 09 14 故需要做轉化,如下 import time import date...