指定した年、月、日に対応するバリアント型 (内部処理形式 Date の Variant) の値を返します。
構文
DateSerial ( year, month, day )
警告: レジストリ エディターまたは別の方法でレジストリを誤って変更すると、重大な問題が発生することがあります。 引数が正しい値の範囲内にあることを確認します。 引数が無効な場合、結果が正しくない可能性があります。
DateSerial 関数構文の引数は次のとおりです。
引数 |
説明 |
year |
必須。 整数型を指定します。 100 から 9999 の範囲の数値または数値式を指定します。 |
month |
必須。 整数型を指定します。 任意の数式を指定します。 |
day |
必須。 整数型を指定します。 任意の数式を指定します。 |
解説
日付 (1991 年 12 月 31 日など) を指定するには、各 DateSerial引数 の数値範囲を単位の許容範囲内に配置する必要があります。つまり、日の場合は 1 から 31、月の場合は 1 から 12 です。 ただし、特定の日付の前または後の日数、月数、または年数を表す任意の数値式を使用して、各引数の相対日付を指定することもできます。
次の例では、絶対日付数値の代わりに、数値式を使用しています。 DateSerial 関数は、月初めの前日 (1 - 1)、8 月から 2 か月前 (8 - 2)、1990 年から 10 年前 (1990 - 10)、つまり、1980 年 5 月 31 日を返します。
DateSerial(1990 - 10, 8 - 2, 1 - 1)
year 引数の 2 桁の年は、ユーザーが定義したマシン設定により解釈されます。 既定の設定では 0 から 29 の値が含まれ、2000 から 2029 年として解釈されます。 30 から 99 の既定値は、1930 から 1999 年として解釈されます。 その他のすべての year 引数では、4 桁の年を使用します (1800 など)。
Windows 2000 以前の Windows バージョンでは、上記で説明した既定に応じて、2 桁の年で解釈されます。 関数が適切な値を確実に返すようにするには、年には 4 桁を使用します。
いずれかの引数がその引数の許容範囲を超えた場合、上位の単位に適切に加算されます。 たとえば、35 日を指定すると、1 か月とその年の該当月に応じた日数として評価されます。 引数のいずれか 1 つでも 32,768 から 32,767 の範囲を超えると、エラーが発生します。 3 つの引数で指定された日付が許容日付範囲外の日付になると、エラーが発生します。
注: year 、 month 、および day は、カレンダー プロパティ設定がグレゴリオ暦の場合、指定した値はグレゴリオ暦と見なされます。 カレンダー プロパティ設定がイスラム暦の場合、指定したはイスラム暦と見なされます。
返された日付部分は、現在の Visual Basic のカレンダーの時間単位になります。 たとえば、現在のカレンダーがイスラム暦で、返される日付部分が年の場合、年の値はイスラム暦の年になります。 引数 year の場合、0 から 99 の値は 1400 ~ 1499 年として解釈されます。 その他のすべての year 値では、完全な 4 桁の年を使用します (1520 など)。
クエリの例
式 |
結果 |
SELECT Dateserial(2018,12,13) AS NewDate FROM ProductSales; |
関数の引数に入力された指定した年、月、日の "日付" を返し、列 "NewDate" に表示します。 結果: "13/12/2018" |
VBA の例
注: 次の例は、Visual Basic for Applications (VBA) モジュールでのこの関数の使用方法を示しています。 VBA の使用方法の詳細については、[検索] の横にあるドロップダウン リストで [開発者用リファレンス] を選び、検索ボックスに検索する用語を入力します。
この例では、DateSerial 関数を使用して、指定した年、月、および日の日付を返します。
Dim MyDate ' MyDate contains the date for February 12, 1969. MyDate = DateSerial(1969, 2, 12) ' Return a date.