在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...