SAK 図書館
VB 基礎編 (その八) 日付時間関数 DateSerial、DateDiff、DateAdd、DateValue
■Is...
IsArray(変数)
|_ 配列か調べる
IsDate(変数)
|_ 日付か調べる
IsEmpty(変数)
|_ 使われているか調べる
IsNull(変数)
|_ NULL 値か調べる
IsNumeric(変数)
|_ 数値か調べる
IsObject(変数)
|_ オブシェクトか調べる
それぞれ該当する場合は TRUE が、そうでない場合は FALSE が返る。
■データ型変換関数
データ型の変換を行います。
a = CBool(データ) '** 論理型
a = CByte(データ) '** バイト型
a = CCur(データ) '** 通貨型
a = CDate(データ) '** 日付型
a = CDbl(データ) '** 倍精度型
a = CDec(データ) '** 10 進型
a = CInt(データ) '** 整数型
a = CLng(データ) '** 長整数型
a = CSng(データ) '** 単精度型
a = CVar(データ) '** バリアント型
a = CStr(データ) '** 文字列型
|_ 変数、または、演算結果
旧 VB 互換データ型の変換を行います。
a = CVDate(データ) '** 内部形式 Date のバリアント型
|_ VB6 では、CDate を使用する
■timer
00:00:00 からの通算コンピュータ時間を返します。
確か、1/100 セコンドぐらいの単位です。
■DateSerial
指定した年月日に対応する内部処理 Date 型の Variant 値を返す。
dim dtv as variant
dtv = DateSerial(2001, 8, 1)
| | | |_ 日
| | |_ 月
| |_ 年
|_ 内部処理 Date 型の Variant 値
■DateDiff
ふたつの日付間隔(日付範囲)を求める。
(日付計算、日数計算、カレンダー計算、経過日付)
dim dtv as variant
dtv = DateDiff(interval, "2001.1.1", "2001.10.16")
| | | |_ 日付2
| | |_ 日付1
| |_ 時間単位
| yyyy 年
| q 四半期
| m 月
| y 年間通算日
| d 日
| w 週日
| ww 週
| h 時
| n 分
| s 秒
|_ 内部処理 Date 型の Variant 値
dtv = DateDiff(interval, date1, date2, firstdayofweek, firstweekofyear)
0 vbUseSystem NLS API の設定値 _| |
1 vbSunday 日(既定値) |
2 vbMonday 月 |
3 vbTuesday 火 |
4 vbWednesday 水 |
5 vbThursday 木 |
6 vbFriday 金 |
7 vbSaturday 土 |
|
0 vbUseSystem NLS API の設定値 ____________________|
1 vbFirstJan1 1 月 1 日を含む週を年度の第 1 週(既定値)
2 vbFirstFourDays 7 日のうち少なくとも 4 日が新年度に含まれる週を年度の第 1 週
3 vbFirstFullWeek 新年度に含まれる最初の週を年度の第 1 週
■DateAdd
日付の演算を行う。
(日付計算、日数計算、カレンダー計算)
dim dtv as variant
dtv = DateAdd(interval, 1, "2001.10.16")
| | | |_ 日付2
| | |_ 加算数値
| |_ 時間単位
| yyyy 年
| q 四半期
| m 月
| y 年間通算日
| d 日
| w 週日
| ww 週
| h 時
| n 分
| s 秒
|_ 内部処理 Date 型の Variant 値
dtv = DateAdd("d", 1, "2001.10.16") '一日後
dtv = DateAdd("m", 1, "2001.10.16") '一ヶ月後
dtv = DateAdd("m", -1, "2001.10.16") '一ヶ月前
■DateValue
内部処理 Date 型の Variant 値を返す。
dim dtv as variant
dtv = DateValue("February 1, 2001")
dtv = DateValue("2001/1/1")
dtv = DateValue("2001.1.1")
| |_ 日付
|_ 内部処理 Date 型の Variant 値
■TimeValue
内部処理 Date 型の Variant 値を返す。
dim dtv as variant
dtv = TimeValue("5:30PM")
dtv = TimeValue("5:30:00PM")
dtv = TimeValue("17:30:00")
| |_ 時間
|_ 内部処理 Date 型の Variant 値
■DatePart
日付時間の分解を行う。
dtv = DatePart(interval, dt)
| | |_ 日付型
| |_ "yyyy" 年
| "q" 四半期
| "m" 月
| "y" 年
| "d" 日
| "w" 週日
| "ww" 週
| "h" 時
| "n" 分
| "s" 秒
|_ 日付時間分解値
ゼロ埋め書式変換するなら、次のようにすれば良い。
s = FixZero(datepart("d", dt), 2)
public function FixZero(n as long, l as long) as string
'** ゼロ埋め
FixZero = right(string(l, "0") & n, l)
end function
■FormatDateTime
日付時間形式の文字列を返す。
(システム日付、システム時間、現在日付取得、現在時刻取得)
dts = FormatDateTime(dt, 0)
| | |_ 0 vbGeneralDate 日付時間を短い形式
| | 1 vbLongDate 日付を長い形式
| | 2 vbShortDate 日付を短い形式
| | 3 vbLongTime 時間を長い形式
| | 4 vbShortTime 時間を短い形式
| |_ 日付型
|_ フォーマット文字列
■Weekday
何曜日か返す。
dim yb as integer
yb = Weekday("2001.10.03")
|_ 1 日
2 月
3 火
4 水
5 木
6 金
7 土
■Date
日付を取得、または、設定する。
date = "2001.10.10"
■Time
時間を取得、または、設定する。
time = "18:02:00"
■VB 基礎編資料
■VB 入門編資料
■VB ビジュアル編資料
■VB テクニック編資料