DateSerial 関数 (Visual Basic)

更新 : 2007 年 11 月

時刻情報が午前 0 時 (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 の値から 1 が引かれ、計算された年の 1 月に加えられます。つまり、(Month - 1) が 1 月に加算されます。年は必要に応じて再計算されます。次の結果はこの効果を示しています。

    • Month が 1 の場合、結果は計算された年の 1 月です。

    • Month が 0 の場合、結果は前年の 12 月です。

    • Month が -1 の場合、結果は前年の 11 月です。

    • Month が 13 の場合、結果は翌年の 1 月です。

  • Day
    必ず指定します。1 ~ 31 の整数型 (Integer) の式です。ただし、この範囲外の値も指定できます。Day の値から 1 が引かれ、計算された月の第 1 日に加えられます。つまり、(Day - 1) が月の 1 日に加算されます。月と年は、必要に応じて再計算されます。次の結果はこの効果を示しています。

    • Day が 1 の場合、結果は計算された月の 1 日です。

    • Day が 0 の場合、結果は前月の末日です。

    • Day が -1 の場合、結果は前月の最後から 2 日目です。

    • Day が当月の末日を過ぎている場合、結果は翌月の該当日です。たとえば、Month が 4 で Day が 31 の場合、結果は 5 月 1 日です。

解説

Windows 98 または Windows 2000 では、引数 Year の 2 桁の年は、ユーザー定義のコンピュータ設定に基づいて解釈されます。既定の設定では 0 ~ 29 の値は 2000 ~ 2029 年、30 ~ 99 の値は 1930 ~ 1999 年と解釈されます。これ以外の Year 引数では、4 桁の数値 (たとえば 1924) を使用してください。

以前のバージョンの Windows では、2 桁の年はこの既定に基づいて解釈されます。関数が必ず正しい値を返すようにするには、4 桁の Year を使用してください。

負の値、0、および正の値の引数を次に示します。ここでは、DateSerial 関数は、本年より 10 年前の年の 3 月 1 日の前日 (10 年前の 2 月末日) を表す日付型 (Date) の値を返します。

Dim EndFeb As Date = DateSerial(-10, 3, 0)

Month または Day が通常の範囲を超えた場合は、その上の単位に繰り上げられます。たとえば、32 日を指定すると、Month の値に応じて、1 か月と 1 ~ 4 日として評価されます。Year が 9999 より大きい場合、または引数のいずれかが -2,147,483,648 ~ 2,147,483,647 の範囲外の場合は、ArgumentException エラーが発生します。3 つの引数で指定された日付が 1 年 1 月 1 日 00:00:00 よりも前の場合、または 9999 年 12 月 31 日 23:59:59 よりも後の場合は、ArgumentOutOfRangeException エラーが発生します。

日付型 (Date) には時刻コンポーネントが含まれます。DateSerial は、これらすべてのコンポーネントを 0 に設定するため、返される値は計算された日の始まりを表します。

すべての日付型 (Date) の値は DateTime 構造体でサポートされているため、メソッドには日付型 (Date) の値をアセンブルするときの追加のオプションがあります。たとえば、オーバーロードされた DateTime コンストラクタの 1 つを使用し、コンポーネントを任意に組み合わせて日付型 (Date) の変数を設定できます。NewDateTime に 1978 年 5 月 6 日午前 8:30 の 0.1 秒前を設定する例を次に示します。

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.

必要条件

名前空間 : Microsoft.VisualBasic

モジュール : DateAndTime

アセンブリ : Visual Basic ランタイム ライブラリ (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