目次へ戻ります
VB サンプル


VB 日付操作


●Now、Date、Time システム日時の取得
●Format 指定した書式に変換
●DateDiff 日時の時間間隔(差)を求める
●DateAdd 日時の時間間隔(差)を加える
●DateValue 日付文字列をDate型(バリアント)へ変換
●TimeValue 時刻文字列をDate型(バリアント)へ変換
●CDate 日時文字列をDate型へ変換
●IsDate 日付や時刻として認識できるかチェック
●Year 年を取得
●Month 月を取得
●Day 日を取得
●Hour 時を取得
●Minute 分を取得
●Second 秒を取得
●Weekday 曜日を取得
●Weekdayname 曜日を取得
●Now、Date、Time 関数

【機能】システム日付を返します。

【書式】result = Now
【書式】result = Date
【書式】result = Time

【 例 】
result = Now  → 2006/11/28 16:16:54
result = Date  → 2006/11/28
result = Time  → 16:16:54

※ 戻り値はバリアント型 (内部処理形式 Date の Variant)の値を返します。
●Format 関数

【機能】値を指定した書式に変換し、その文字列を返します。

【書式】result = Format ( 値 , 書式 )

書式 意味
(:) 時刻の区切り記号です。オペレーティング システムの国別情報の設定によっては、時刻の区切り記号として他の記号が使用されることがあります。時刻を時間、分、および秒で区切ることができます。変換後の時刻の区切り記号は、コントロール パネルの設定によって決まります。
(/) 日付の区切り記号です。オペレーティング システムの国別情報の設定によっては、他の記号が使用されることがあります。日付を年、月、および日で区切ることができます。変換後の区切り記号は、コントロール パネルの設定によって決まります。
c ddddd および t t t t t の書式で表した日付と時刻を、日付、時刻の順序で返します。指定された値に小数部がない場合は日付のみ、整数部がない場合は時刻のみを表す文字列を返します。
d 日付を返します。1 桁の場合、先頭に 0 が付きません (1 〜 31)。
dd 日付を返します。1 桁の場合、先頭に 0 が付きます (01 〜 31)。
ddd 曜日を英語 (省略形) で返します (Sun 〜 Sat)。
aaa 曜日を日本語 (省略形) で返します (日〜土)。
dddd 曜日を英語で返します (Sunday 〜 Saturday)。
aaaa 曜日を日本語で返します (日曜日〜土曜日)。
ddddd 年、月、日を含む短い形式 (コントロール パネルで設定) で表した日付を返します。既定の短い日付形式は、m/d/yy です。
dddddd 年、月、日を含む長い形式 (コントロール パネルで設定) で表した日付を返します。既定の長い日付形式は mmmm dd, yyyy です。
w 曜日を表す数値を返します (日曜日が 1、土曜日が 7 となります)。
ww その日が一年のうちで何週目に当たるかを表す数値を返します (1 〜 54)。
m 月を表す数値を返します。1 桁の場合、先頭に 0 が付きません (1 〜 12)。ただし、h や hh の直後に m を指定した場合、月ではなく分と解釈されます。
mm 月を表す数値を返します。1 桁の場合、先頭に 0 が付きます (01 〜 12)。ただし、h や hh の直後に mm を指定した場合、月ではなく分と解釈されます。
mmm 月の名前を英語 (省略形) の文字列に変換して返します (Jan 〜 Dec)。
mmmm 月の名前を英語で返します (January 〜 December)。
q 1 年のうちで何番目の四半期に当たるかを表す数値を返します (1 〜 4)。
g 年号の頭文字を返します (M、T、S、H)。
gg 年号の先頭の 1 文字を漢字で返します (明、大、昭、平)。
ggg 年号を返します (明治、大正、昭和、平成)。
e 年号に基づく和暦の年を返します。1 桁の場合、先頭に 0 が付きません。
ee 年号に基づく和暦の年を 2 桁の数値を使って返します。1 桁の場合、先頭に 0 が付きます。
y 1 年のうちで何日目に当たるかを数値で返します (1 〜 366)。
yy 西暦の年を下 2 桁の数値で返します (00 〜 99)。
yyyy 西暦の年を 4 桁の数値で返します (100 〜 9999)。
h 時間を返します。1 桁の場合、先頭に 0 が付きません (0 〜 23)。
hh 時間を返します。1 桁の場合、先頭に 0 が付きます (00 〜 23)。
n 分を返します。1 桁の場合、先頭に 0 が付きません (0 〜 59)。
nn 分を返します。1 桁の場合、先頭に 0 が付きます (00 〜 59)。
s 秒を返します。1 桁の場合、先頭に 0 が付きません (0 〜 59)。
ss 秒を返します。1 桁の場合、先頭に 0 が付きます (00 〜 59)。
t t t t t コントロール パネルで設定されている形式で時刻を返します。先頭に 0 を付けるオプションが選択されていて、時刻が午前または午後 10 時以前の場合、先頭に 0 が付きます。既定の形式は、h:mm:ss です。
AM/PM 時刻が正午以前の場合は大文字で AM を返し、正午〜午後 11 時 59 分の間は大文字で PM を返します。
am/pm 時刻が正午以前の場合は小文字で am を返し、正午〜午後 11 時 59 分の間は小文字で pm を返します。
A/P 時刻が正午以前の場合は大文字で A を返し、正午〜午後 11 時 59 分の間は大文字で P を返します。
a/p 時刻が正午以前の場合は小文字で a を返し、正午〜午後 11 時 59 分の間は小文字で p を返します。
AMPM "12 時間制" が選択されていて、時刻が正午以前の場合は午前を表すリテラル文字列を、正午〜午後 11 時 59 分の間は午後を表すリテラル文字列を返します。これらの文字列の設定および "12 時間制" の選択は、コントロール パネルで行います。AMPM は大文字、小文字のどちらでも指定できます。既定の形式は、AM/PM です。

【 例 】
result = Format( Now, "yyyy/mm/dd hh:nn:ss" )  → 2006/11/28 14:49:28
result = Format( Now, "ggge年mm月dd日(aaa)" )  → 平成18年11月28日(火)
●DateDiff 関数

【機能】日付の時間間隔(差)を返します。

【書式】result = DateDiff ( 時間単位の文字 , 日付1 , 日付2 )

時間単位の文字 意味
yyyy
q 四半期
m
y 年間通算日
d
w 週日
ww
h
n
s

【 例 】
result = DateDiff( "d", "2006/11/30 15:37:00", "2006/12/1 15:36:00" )  → 1
result = DateDiff( "h", "2006/11/29 15:37:00", "2006/12/1 15:36:00" )  → 48 (24*2)
result = DateDiff( "n", "2006/11/30 15:37:00", "2006/12/1 15:36:00" )  → 1439 (23*60+59)
result = DateDiff( "yyyy", "2006/12/31", "2007/1/1" )  → 1

※ パラメータ「日付1」、「日付2」はバリアント型 (内部処理形式 Date の Variant) の値を指定します。
●DateAdd 関数

【機能】日付の時間間隔(差)を加えた日付を返します。

【書式】result = DateAdd ( 時間間隔の文字, 時間間隔の数, 日付 )

時間間隔の文字 意味
yyyy
q 四半期
m
y 年間通算日
d
w 週日
ww
h
n
s

【 例 】
result = DateAdd( "d", 4, "2006/11/28 15:37:00")  → 2006/12/02 15:37:00
result = DateAdd( "h", 1, "2006/11/28 15:37:00")  → 2006/11/28 16:37:00
result = DateAdd( "n", -1, "2006/11/28 15:37:00")  → 2006/11/28 15:36:00

※ 戻り値はバリアント型 (内部処理形式 String の Variant) の値を返します。
●DateValue、TimeValue、CDate 関数

【機能】日付(時刻)文字列をDate型(バリアント)へ変換します。

【書式】result = DateValue ( 日付文字列 )
【書式】result = TimeValue ( 時間文字列 )
【書式】result = CDate ( 日付文字列 )

【 例 】
result = DateValue( Now )  → 2006/11/28
result = DateValue( "2006年11月28日" )  → 2006/11/28
result = DateValue( "06年11月28日" )  → 2006/11/28
result = DateValue( "平成18年11月28日" )  → 2006/11/28
result = DateValue( "28-11-2006" )  → 2006/11/28
result = DateValue( "2006年11月28日 13時4分" )  → 2006/11/28
result = TimeValue( Now )  → 16:44:49
result = TimeValue( "13時4分" )  → 13:04:00
result = TimeValue( "午後1時4分" )  → 13:04:00
result = TimeValue( "1:4 PM" )  → 13:04:00
result = TimeValue( "2006年11月28日 13時4分" )  → 13:04:00
result = CDate( "2006年11月28日 13時4分" )  → 2006/11/28 13:04:00

※ DateValue、TimeValue の戻り値は、バリアント型 (内部処理形式 Date の Variant)の値を返します。
※ CDate の戻り値は、日付型の値を返します。
※ 不正な日付書式を指定するとエラーが発生します。
●IsDate 関数

【機能】指定した式が日付である場合、またはその式が有効な日付として認識できる場合は、真 (True) を返します。変換できない場合は、偽 (False) を返します。

【書式】result = IsDate ( 日付文字列 )

【 例 】result = IsDate( "2006/11/30 11:01" )   →   True
●Year、Month、Day、Hour、Minute、Second、Weekday、Weekdayname 関数

【機能】年月日時分秒曜日を返します。

【書式】result = Year(日付)
【書式】result = Month(日付)
【書式】result = Day(日付)
【書式】result = Weekday(日付)
【書式】result = Weekdayname(曜日コード, "曜日"を付けるどうか)
【書式】result = Hour(時刻)
【書式】result = Minute(時刻)
【書式】result = Second(時刻)

【 例 】
result = Now  → 2006/11/28 17:14:12
result = Year( Now )  → 2006
result = Month( Now )  → 11
result = Day( Now )  → 28
result = Weekday( Now )  → 3 (1:日、2:月、3:火・・・)
result = Weekdayname(Weekday(Now))  → 火曜日
result = Weekdayname(Weekday(Now),True)  → 火
result = Hour( Now )  → 17
result = Minute( Now )  → 14
result = Second( Now )  → 12

※ 戻り値はバリアント型 (内部処理形式 Integer の Variant)です (Weekdaynameは文字列)。

目次へ戻ります