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 テクニック編資料