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 中)

請參閱

參考

DateValue 函式 (Visual Basic)

Day 函式 (Visual Basic)

Month 函式 (Visual Basic)

Now 屬性

TimeSerial 函式 (Visual Basic)

TimeValue 函式 (Visual Basic)

Weekday 函式 (Visual Basic)

Year 函式 (Visual Basic)

Date 資料型別 (Visual Basic)

System