DatePart
Synopsis
DatePart(interval,date[,firstdayofweek[,firstweekofyear]])
引数
interval | 返す時間間隔を表す文字列式コード。コード値は、以下を参照してください。 |
date | 評価する日付式。引用符付きの文字列として指定します。 |
firstdayofweek | オプション — 週の最初の日を指定する定数。これを指定しない場合、日曜日が最初の日となります。値は、以下を参照してください。 |
firstweekofyear | オプション — 年度の最初の週を指定する定数。これを指定しない場合は、最初の週は 1 月 1 日を含む週になります。値は、以下を参照してください。 |
概要
DatePart 関数は日付を評価し、特定の時間間隔を整数値で返します。例えば、DatePart を使用して週の曜日や、年の初めからの日数を計算できます。
引数 interval の値は以下のとおりです。
設定 | 概要 |
---|---|
yyyy | 年 |
q | 年の初めからの四半期の数 |
m | 月。年の初めからの月数 |
y | 年間通算日。年の初めからの日数 |
d | 日。月の初めからの日数。 |
w | 曜日 (週の曜日、日曜日を 1 とカウント) |
ww | 年間通算週 |
h | 時刻 (既定は 1) |
n | 分 (既定は 0) |
s | 秒 (既定は 0) |
引数 firstdayofweek の値は以下のとおりです。
定数 | 値 | 概要 |
---|---|---|
vbUseSystem | 0 | 各国言語サポート (NLS) の API 設定を使用します |
vbSunday | 1 | Sunday (日曜日) |
vbMonday | 2 | Monday (月曜日) |
vbTuesday | 3 | Tuesday (火曜日) |
vbWednesday | 4 | Wednesday (水曜日) |
vbThursday | 5 | Thursday (木曜日) |
vbFriday | 6 | Friday (金曜日) |
vbSaturday | 7 | Saturday (土曜日) |
引数 firstweekofyear の値は以下のとおりです。
定数 | 値 | 概要 |
---|---|---|
vbUseSystem | 0 | 各国言語サポート (NLS) の API 設定を使用します |
vbFirstJan1 | 1 | 1 月 1 日を含む週を、第 1 週に指定します (既定) |
vbFirstFourDays | 2 | 新年度に少なくとも週の 4 日が含まれる最初の週を、第 1 週に指定します |
vbFirstFullWeek | 3 | 新年度に週の全部の日が含まれる最初の週を、第 1 週に指定します |
firstweekofyear 引数値を指定するためには、firstdayofweek 引数値を指定する必要があります。引数 firstdayofweek は、間隔に "w" か "ww" を使用している計算に影響を与えます。
date に日付リテラルを指定した場合、指定した年がその日付の固定部分となります。しかし、date を符号 ("") で囲み年を省略すると、日付式が評価されるたびに、コードに現在の年が挿入されます。これにより、違う年にも利用できるコードを記述することができます。
例
以下の例は、日付を引数に取り、対応する間隔のカウントを表示します。
NewDay = DatePart("d","30-Nov-2005")
NewWDay = DatePart("w","30-Nov-2005")
NewWeek = DatePart("ww","30-Nov-2005")
NewMonth = DatePart("m","30-Nov-2005")
NewQuarter = DatePart("q","30-Nov-2005")
NewYDay = DatePart("y","30-Nov-2005")
NewYear = DatePart("yyyy","30-Nov-2005")
NewHour = DatePart("h","30-Nov-2005")
NewMin = DatePart("n","30-Nov-2005")
NewSec = DatePart("s","30-Nov-2005")
Println NewDay
Println NewWDay
Println NewWeek
Println NewMonth
Println NewQuarter
Println NewYDay
Println NewYear
Println NewHour
Println NewMin
Println NewSec
以下の例は、引数 firstdayofweek の結果を示します。
MyDay0 = DatePart("w","11/1/2005",vbUseSystem)
MyDay1 = DatePart("w","11/1/2005",vbSunday)
MyDay2 = DatePart("w","11/1/2005",vbMonday)
MyDay3 = DatePart("w","11/1/2005",vbTuesday)
MyDay4 = DatePart("w","11/1/2005",vbWednesday)
MyDay5 = DatePart("w","11/1/2005",vbThursday)
MyDay6 = DatePart("w","11/1/2005",vbFriday)
MyDay7 = DatePart("w","11/1/2005",vbSaturday)
Println "Day is: ",MyDay0," Week begins System Default"
Println "Day is: ",MyDay1," Week begins Sunday"
Println "Day is: ",MyDay2," Week begins Monday"
Println "Day is: ",MyDay3," Week begins Tuesday"
Println "Day is: ",MyDay4," Week begins Wednesday"
Println "Day is: ",MyDay5," Week begins Thursday"
Println "Day is: ",MyDay6," Week begins Friday"
Println "Day is: ",MyDay7," Week begins Saturday"
2005 年 11 月 1 日は火曜日です。DatePart("w","11/1/2005",vbTuesday) は 1 を返します。
以下の例では、異なる firstdayofweek および firstweekofyear 引数値に基づいて 2008 年 2 月 29 日がその年の第何週にあたるかを示す値を返します。
Println "Week is: ",DatePart("ww","2/29/2008",vbUseSystem,vbUseSystem)
Println "Week is: ",DatePart("ww","2/29/2008",vbThursday,vbUseSystem)
Println "Week is: ",DatePart("ww","2/29/2008",vbUseSystem,vbFirstJan1)
Println "Week is: ",DatePart("ww","2/29/2008",vbThursday,vbFirstJan1)
Println "Week is: ",DatePart("ww","2/29/2008",vbUseSystem,vbFirstFourDays)
Println "Week is: ",DatePart("ww","2/29/2008",vbThursday,vbFirstFourDays)
Println "Week is: ",DatePart("ww","2/29/2008",vbUseSystem,vbFirstFullWeek)
Println "Week is: ",DatePart("ww","2/29/2008",vbThursday,vbFirstFullWeek)
firstweekofyear と firstdayofweek は両方とも、ある日付がその年の第何週にあたるかを示す値に影響します。