關於vb 中的日期時間函式

2021-12-16 09:44:27 字數 4991 閱讀 8158

1樓:匿名使用者

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

datediff 函式語法中有下列命名引數:

部分 描述

interval 必要。字串表示式,表示用來計算date1 和 date2 的時間差的時間間隔

date1□date2 必要;variant (date)。計算中要用到的兩個日期。

firstdayofweek 可選。指定一個星期的第一天的常數。如果未予指定,則以星期日為第一天。

firstweekofyear 可選。指定一年的第一週的常數。如果未予指定,則以包含 1 月 1 日的星期為第一週。

設定interval 引數的設定值如下:

設定 描述

yyyy 年

q 季m 月y 一年的日數

d 日w 一週的日數

ww 周

h 時n 分鐘

s 秒firstdayofweek 引數的設定值如下:

常數 值 描述

vbusesystem 0 使用 nls api 設定。

vbsunday 1 星期日(預設值)

vbmonday 2 星期一

vbtuesday 3 星期二

vbwednesday 4 星期三

vbthursday 5 星期四

vbfriday 6 星期五

vbsaturday 7 星期六

常數 值 描述

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 剛好是星期日,則 date2 也會被加進 datediff 的計數結果中;但不論 date1 是否為星期日,都不將它算進去。

如果 date1 比 date2 來得晚,則 datediff 函式的返回值為負數。

firstdayofweek 引數會影響使用時間間隔符號 「w」 或 「ww」 計算的結果。

如果 date1 或 date2 是日期文字,則指定的年份成為該日期的固定部分。但是,如果 date1 或 date2 用雙引號 (" ") 括起來,且年份略而不提,則在每次計算表示式 date1 或 date2 時,當前年份都會插入到**之中。這樣就可以書寫適用於不同年份的程式**。

在計算 12 月 31 日和來年的 1 月 1 日的年份差時,datediff 返回 1 表示相差一個年份,雖然實際上只相差一天而已。

dateadd(interval, number, date)

dateadd 函式語法中有下列命名引數:

部分 描述

interval 必要。字串表示式,是所要加上去的時間間隔。

number 必要。數值表示式,是要加上的時間間隔的數目。其數值可以為正數(得到未來的日期),也可以為負數(得到過去的日期)。

date 必要。variant (date) 或表示日期的文字,這一日期還加上了時間間隔。

設定interval 引數具有以下設定值:

設定 描述

yyyy 年

q 季m 月y 一年的日數

d 日w 一週的日數

ww 周

h 時n 分鐘

s 秒說明可以使用 dateadd 函式對日期加上或減去指定的時間間隔。例如,可以用 dateadd 來計算距今天為三十天的日期;或者計算距現在為 45 分鐘的時間。

為了對 date 加上「日」,可以使用「一年的日數」 (「y」),「日」 (」d」) 或「一週的日數」 (」w」)。

dateadd 函式將不返回有效日期。在以下例項中將 1 月31 日加上一個月:

dateadd(m, 1, 31-jan-95)

上例中,dateadd 返回 1995 年 2 月 28 日,而不是 1995 年 2 月 31 日。如果 date 是 1996 年 1 月 31 日,則由於 1996 年是閏年,返回值是 1996 年 2 月 29 日。

如果計算的日期超前 100 年(減去的年度超過 date 中的年份),就會導致錯誤發生。

如果 number 不是一個 long 值,則在計算時取最接近的整數值來計算。

注意 dateadd 返回值的格式由 control panel設定決定,而不是由傳遞到date 引數的格式決定。

2樓:淚痕_飛

ps:要看dateadd dateiff,就看專題

貼太多的話不好~~~~

vb 日期時間函式

1. year(x),month(x),day(x):取出年,月,日

[格式]:

p=year(x) 取出x"年"部分的數值

p=month(x) 取出x"月"部分的數值

p=day(x) 取出x"日"部分的數值

[說明]:year返回的是公元年,若x裡只有時間,沒有日期,則日期視為#1899/12/30#

2. hour,minute,second函式:取出時,分,或秒

[格式]:

p=hour(x) 取出x"時"部分的數值

p=minute(x) 取出x"分"部分的數值

p=second(x) 取出x"秒"部分的數值

[說明]:hour的返回值是0---23之間

[範例]:

x=10:34:23

p=hour(x)

q=minute(x)

r=second(x)

則輸出結果:p=10,q=34,r=23

3. dateserial函式:合併年,月,日成為日期

[格式]:dateserial(y,m,d) 其中y是年份,m為月份,d為日期

[說明]:

(1) m值若大於12,則月份從12月起向後推算m-12個月;若小於1,則月份從1月起向後推算1-m個月。

(2) 若日期d大於當月的日數,則日期從當月的日數起,向後推算d-當月日數;若小於1,則日期從1日起向前推算1-d日。

[範例]:

p=dateserial(2000,02,02)

則結果為p=2000/02/02

4.timeserial函式:合併時,分,秒成為時間

[格式]:p=timeserial(h,m,s) 其中h為小時數,m為分鐘數,s為秒數

[說明]:推算原理同上面的dateserial

[範例]:

p=timeserial(6,32,45) 結果為:p=6:32:45

5.date,time,now函式:讀取系統的日期時間

[格式]:

p=date()

p=time()

p=now()

[說明]:這三個函式都無引數

[範例]:若當前時間為2023年8月29日晚上19點26分45秒,則

p=now() 結果為:p=2003-08-29 19:26:45

6.vb日期加減函式dateadd

語法dateadd(interval, number, date)

返回包含一個日期型別的資料

interval引數具有以下設定值:

yyyy 年

q 季

m 月

y 一年的日數

d 日

w 一週的日數

ww 周

h 時

n 分鐘

s 秒

可以使用 dateadd 函式對日期加上或減去指定的時間間隔。例如,可以用 dateadd 來計算距今天為三十天的日期;或者計算距現在為 45 分鐘的時間。

為了對 date 加上「日」,可以使用「一年的日數」 (「y」),「日」 (」d」) 或「一週的日數」 (」w」)。

dateadd 函式將不返回有效日期。在以下例項中將 1 月31 日加上一個月

dateadd(m, 1, 31-jan-95)

用法dateadd("d", 7, now) 現在日期加7天

ps:說明

可用 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 型值,則在計算前四捨五入為最接近的整數。

vb中隨機函式的用法,VB中隨機函式的用法

int rnd 6 1 隨即產生1到6之間的整數rnd 函式隨即產生一個大於等於0但小於1的 單精度浮點數 例如 你要隨即產生10到96之間的整數 int rnd 87 10 假設產生a到b之間的整數 則這個範圍應該是b a,由於rnd隨機產生的數小於1且大於等於0,則應該將rnd 乘以 b a 1...

vb中cint 是什麼函式,VB中cint 是什麼函式?

cint主要是vb語言裡面的強制轉換函式。通常,可以使用子型別轉換函式書寫 以顯示某些操作的結果應被表示為特定的資料型別,而不是預設型別。例如,在出現貨幣 單精度或雙精度運算的情況下,使用 cint 或 clng 強制執行整數運算。cint 函式用於進行從其他資料型別到 integer 子型別的國際...

VB中LoadPicture函式的用法

測試不行那肯定就錯了唄,要不你手動載入張 看看picture屬性是什麼吶,我雖沒學過vb但是我想關於 的大小應該有單獨的屬性吧!你找找 你的 是jpg的格式當然不行啦,要轉換為icon的,很簡單,你把你的檔案字尾該下就可以了!轉換為icon,另外 別太大 vb 語言中loadpicture 怎麼用 ...