DatePart関数
DatePart関数は、VBA関数の中で日付・時刻関数に分類される関数です。
目次
DatePart関数とは
DatePart関数は、日付の指定した部分を含むバリアント型 (内部処理形式 Integer の Variant) の値を返します。
構文 | DatePart(interval, date[,firstdayofweek[, firstweekofyear]]) | |
---|---|---|
引数 | 省略 | 説明 |
interval | × | 時間間隔の単位を表す文字列式を指定します。 |
date | × | 評価するバリアント型 (内部処理形式 Date の Variant) の値を指定します。 |
firstdayofweek | ● | 週の始まりの曜日を表す定数を指定します。省略すると、日曜日を指定したものとみなされます。 |
firstweekofyear | ● | 年度の第 1 週を表す定数を指定します。省略すると、1 月 1 日を含む週が第 1 週とみなされます。 |
引数interval
設定値 | 説明 |
---|---|
yyyy | yyyy |
q | 四半期 |
m | 月 |
y | 年間通算日 |
d | 日 |
w | 週日 |
ww | 週 |
h | 時 |
n | 分 |
s | 秒 |
引数firstdayofweek
定数 | 値 | 説明 |
---|---|---|
vbUseSystem | 0 | NLS API の設定値を使います。 |
vbSunday | 1 | (既定値) 日曜 |
vbMonday | 2 | 月曜 |
vbTuesday | 3 | 火曜 |
vbWednesday | 4 | 水曜 |
vbThursday | 5 | 木曜 |
vbFriday | 6 | 金曜 |
vbSaturday | 7 | 土曜 |
引数firstweekofyear
定数 | 値 | 説明 |
---|---|---|
vbUseSystem | 0 | NLS API の設定値を使います。 |
vbFirstJan1 | 1 | (既定値) 1 月 1 日を含む週を年度の第 1 週として扱います。 |
vbFirstFourDays | 2 | 7 日のうち少なくとも 4 日が新年度に含まれる週を年度の第 1 週として扱います。 |
vbFirstFullWeek | 3 | 全体が新年度に含まれる最初の週を年度の第 1 週として扱います。 |
DatePart 関数を使うと、日付を評価し、特定の時間間隔部分を取得できます。たとえば、週日や現在の時刻などを計算できます。名前付き引数 firstdayofweek は、名前付き引数 interval に週 ("ww") を指定した場合の計算値に影響します。
名前付き引数 date に日付リテラルを指定した場合、指定した年が日付の固定部分となります。ただし、名前付き引数 date をダブル クォーテーション (" ") で囲み、年を省略すると、名前付き引数 date の式が評価されるたびにコードに現在の年が挿入されます。これを利用すると、異なる年度で使用できるコードを記述することが可能になります。
Calendar プロパティの設定がグレゴリオ暦の場合、引数 date にはグレゴリオ暦で表される日付を指定する必要があります。Calendar プロパティの設定が回教暦の場合、引数 date には回教暦で表される日付を指定する必要があります。
返される日付の部分は、現在のアラビア暦の時間間隔の単位で返されます。たとえば、現在のカレンダーが回教暦で、返される日付の部分が年の場合、その年の値は回教暦の年になります。
DatePart関数のサンプルコード
次の例は、ユーザーに日付の入力を求めた後、DatePart 関数を使って、その日付が四半期のうちのどの期に当たるかを調べます。
Sub sample()
Dim TheDate As Date ' 変数を宣言します。
Dim Msg
TheDate = InputBox("日付を入力してください。")
Msg = "第 " & DatePart("q", TheDate) & " 四半期"
MsgBox Msg
End Sub
実行結果
解説
日付・時刻関数一覧
関数名 | 内容 |
---|---|
Date | 現在のシステム日付を算出します。 |
DateAdd | 指定した期間を加えた値を算出します。 |
DateDiff | 指定した時間単位で、2つの日付の差を算出します。 |
DatePart | 日付の指定した部分を算出します。 |
DateSerial | 指定した年月日に対応するバリアント型の値を算出します。 |
DateValue | 日付を表すバリアント型の値を算出します。 |
Day | 指定した日付から、日を表す1~31までの値を算出します。 |
Hour | 指定した時刻から、時間を表す0~23の値を算出します。 |
Minute | 指定した時刻から、分を表す0~59の値を算出します。 |
Month | 指定した日付から、月を表す1~12までの値を算出します。 |
Now | 現在のシステム日付と時刻を算出します。 |
Second | 指定した時刻から、秒を表す0~59の値を算出します。 |
Time | 現在のシステム時刻を算出します。 |
Timer | 午前0時から経過した秒数を算出します。 |
TimeSerial | 指定した時分秒をバリアント型の値で算出します。 |
TimeValue | 時刻をバリアント型の値で取得します。 |
Weekday | 指定した日付の曜日を算出します。 |
Year | 指定した日付の年を算出します。 |