DateSerial 函式 (Visual Basic)
更新:2007 年 11 月
傳回代表指定的年、月、日和並將時間資訊設定為午夜 (00:00:00) 的 Date 值。
Public Function DateSerial( _
ByVal [Year] As Integer, _
ByVal [Month] As Integer, _
ByVal [Day] As Integer _
) As DateTime
參數
Year
必要項。介於 1 到 9999 間的 Integer 運算式。但也接受這個範圍以下的值。如果 Year 介於 0 到 99,則會被解譯為介於 1930 到 2029 之間,如下面「備註」一節所述。如果 Year 小於 1,將自目前年度中減去。Month
這是必要項。介於 1 到 12 之間的 Integer 運算式。但是,也接受此範圍以外的值。Month 的值將位移 (Offset) 1 並套用至計算年度的一月。換句話說,將 (Month - 1) 加至一月。必要時將重新計算年度。下列結果說明此效果:如果 Month 是 1,結果會是計算年度的一月。
如果 Month 是 0,結果會是前一年的十二月。
如果 Month 是 -1,結果會是前一年的十一月。
如果 Month 是 13,結果會是下一年的一月。
Day
這是必要項。介於 1 到 31 之間的 Integer 運算式。但是,也接受此範圍以外的值。Day 的值將位移 1 並套用至計算月份的第一天。換句話說,將 (Day - 1) 加至該月的第一天。必要時將重新計算月份和年度。下列結果說明此效果:如果 Day 是 1,結果會是計算月份的第一天。
如果 Day 是 0,結果會是前一個月的最後一天。
如果 Day 是 -1,結果會是前一個月的倒數第二天。
如果 Day 超過本月份的結尾,結果會是下個月的適當日期。例如,如果 Month 是 4 且 Day 為 31,結果會是五月一日。
備註
在 Windows 98 或 Windows 2000 作業環境下,會根據使用者定義的電腦設定來解譯兩位數年份的 Year 引數。預設值為 0 到 29 的值會解譯為年份 2000–2029,且 30 到 99 的值會解譯成年份 1930–1999。所有其他的 Year 引數則會使用四位數的年份,例如 1924。
前幾版的 Windows 會根據之前所述的預設值來解譯兩位數的年份。為了確定函式會傳回適當的值,請使用四位數的 Year。
下列範例展示負的、零和正的引數值。在此,DateSerial 函式會傳回表示 10 年前三月一日前一天的 Date。換句話說,也就是十年前的二月最後一天。
Dim EndFeb As Date = DateSerial(-10, 3, 0)
如果 Month 或 Day 超過正常範圍,將套用至下一個較大的適當單位。例如,如果您指定 32 天,則會評估為一個月又一到四天,需視 Month 的值而定。如果 Year 大於 9999,或任何引數在 -2,147,483,648 到 2,147,483,647 範圍之外,則會發生 ArgumentException 錯誤。如果這三個引數所指定的日期早於 1 年 1 月 1 日的 00:00:00,或晚於 9999 年 12 月 31 日的 23:59:59,則會發生 ArgumentOutOfRangeException 錯誤。
Date 資料型別包含時間元件。DateSerial 會將這些全都都設定為 0,因此傳回的值表示計算日期的開始。
由於 DateTime 結構可支援每一個 Date,所以其方法在組合 Date 值時可以有其他的選項。例如,您可以運用任一多載 DateTime 建構函式 (Constructor),使用想要之元件組合填入 (Populate) Date 變數。下列範例將 NewDateTime 設定為 1978 年 5 月 6 日上午 8:30 的前十分之一秒:
Dim NewDateTime As Date = New Date(1978, 5, 6, 8, 29, 59, 900)
範例
這個範例會使用 DateSerial 函式,為指定的年、月和日傳回日期。
Dim MyDate As Date
' MyDate contains the date for February 12, 1969.
MyDate = DateSerial(1969, 2, 12) ' Return a date.
需求
命名空間 (Namespace)︰Microsoft.VisualBasic
**模組︰**DateAndTime
組件 (Assembly):Visual Basic Runtime Library (在 Microsoft.VisualBasic.dll 中)