Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

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)

firstweekofyearfirstdayofweek は両方とも、ある日付がその年の第何週にあたるかを示す値に影響します。

関連項目

FeedbackOpens in a new tab