VBA編程知識點(2)——日期

學習自楊洋老師《全民一起學VBA》

1. excel中的日期型單元格,只能表示1900年1月1日以後的時間。1900年1月1日以前的時間,使用日期公式進行處理會出錯的。

單元格存放的日期與date所能表達的日期是不一樣!

2. 時期型數據的關鍵字是date。

存放的時間精度,精確到秒。

取值範圍:公元100年1月1日0點0分0秒到公元9999年12月31日23點59分59秒。

為一個日期變數賦值具體日期時,兩頭應該加上#號,先日期,後時間,日期裏先月後日(但顯示到屏幕的時候是「年月日」的順序),用斜槓相隔;時間用冒號相隔。

示例:d = #1/19/2018 12:23:56#

3. 獲取系統時間函數

Date函數,獲取當前系統日期(年/月/日)。Date不僅代表一個數據類型,也是一個函數。

Time函數,獲取當前系統時間(時/分/秒)。

Now函數,獲取完事系統時間(年/月/日/時/分/秒)。

4. 時間數據解析函數

Year():返回時間的年份數字

Month():返回時間的月份數字

day():返回時間的當月第幾日的數字

weekday():返回時間的當周第幾日的數字

hour():返回時間的當日第幾小時的數字

minute():返回時間的該小時第幾分鐘的數字

second():返回時間的該分鐘第幾秒的數字

5. 時間運算函數

Datediff函數

作用:計算兩個日期之間的時間差

格式:datediff(單位,起始時間,截止時間)

單位:

「yyyy」-年;「m」-月;「q」-季度;「d」-日;「y」-當年第幾日,一般情況下運行結果與「d」相同;「w」-周(按實際天數計算,不足7天為0周);「ww」-周(按跨週日數計算,只要相隔一個週日即為一週);「h」-小時;「n」-分鐘;「s」-秒。

示例:datediff ("yyyy",#8/3/1996#,#5/6/2011#)

Dateadd函數

作用:計算一個時間點加上指定時間後的新的時間點。

格式:dateadd(單位,跨越長度,起始時間)

單位:

「yyyy」-年;「m」-月;「q」-季度;「d」-日;「y」-當年第幾日,一般情況下運行結果與「d」相同;「w」-周內第幾日,一般情況下運行結果與「d」相同;「ww」-周;「h」-小時;「n」-分鐘;「s」-秒。

示例:dateadd("d",500,#5/28/2016#)

6. 日期與數字是可以相加的,也可以把數字賦值給日期變數

日期型數據本質上是一個double類型的數字。

0代表1899年12月30日0時0分0秒

整數部分每增減1就是增減1天,小數部分0.1代表0.1天,即2.4小時。但是小數部分加減法運算導致的時間變化比較複雜,比如正負號的轉換,溢出處理等,請勿輕易使用。

示例:

dim d as date

d = 1

msgbox d

結果為1899/12/31


推薦閱讀:
相關文章