日付時刻 日付/時刻表示書式指定文字の使用例
※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。
※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。
'(VB:Help) '---------------------------------------------------- 'yy/mm/dd = 58/12/07 'mm -d = 12 - 7 'd -mmmm - yy = 7 - December - 58 'd mmmm = 7 December 'mmmm yy = December 58 'ddddd(aaa) = 58/12/07(日) 'dddddd = 1958 年 12 月 7 日 日曜日 'ggge年m月d日(aaaa) = 昭和33年12月7日(日曜日) 'hh:mm AM/PM = 08:50 PM 'h:mm:ss a/p = 8:50:35 p 'h:mm = 20:50 'h:mm:ss = 20:50:35 'm/d/yy h:mm = 12/7/58 20:50 '---------------------------------------------------- '**************************************************** '日付/時刻表示書式指定文字 (Format 関数) '**************************************************** 'c 'ddddd および t t t t t の書式で表した日付と時刻を、日付、時刻の順序で返します。 '指定された値に小数部がない場合は日付のみ、整数部がない場合は時刻のみを表す文字列を返します。 Private Sub testc() MsgBox Format(Now, "c") Debug.Print Format(Now, "c") '出力例[2009/09/18 15:19:58] End Sub 'ddd '曜日を英語 (省略形) で返します (Sun ~ Sat)。 Private Sub testddd() MsgBox Format(Now, "ddd") Debug.Print Format(Now, "ddd") '出力例[Fri] End Sub 'aaa '曜日を日本語 (省略形) で返します (日~土)。 Private Sub testaaa() MsgBox Format(Now, "aaa") Debug.Print Format(Now, "aaa") '出力例[金] End Sub 'dddd '曜日を英語で返します (Sunday ~ Saturday)。 Private Sub testdddd() MsgBox Format(Now, "dddd") Debug.Print Format(Now, "dddd") '出力例[Friday] End Sub 'aaaa '曜日を日本語で返します (日曜日~土曜日)。 Private Sub testaaaa() MsgBox Format(Now, "aaaa") Debug.Print Format(Now, "aaaa") '出力例[金曜日] End Sub 'ddddd '年、月、日を含む短い形式 (コントロール パネルで設定) で表した日付を返します。 '既定の短い日付形式は、m/d/yy です。 Private Sub testddddd() MsgBox Format(Now, "ddddd") Debug.Print Format(Now, "ddddd") '出力例[2009/09/18] End Sub 'dddddd '年、月、日を含む長い形式 (コントロール パネルで設定) で表した日付を返します。 '既定の長い日付形式は mmmm dd, yyyy です。 Private Sub testdddddd() MsgBox Format(Now, "dddddd") Debug.Print Format(Now, "dddddd") '出力例[2009年9月18日] End Sub 'w '曜日を表す数値を返します (日曜日が 1、土曜日が 7 となります)。 Private Sub testw() MsgBox Format(Now, "w") Debug.Print Format(Now, "w") '出力例[6] End Sub 'ww 'その日が一年のうちで何週目に当たるかを表す数値を返します (1 ~ 54)。 Private Sub testww() MsgBox Format(Now, "ww") Debug.Print Format(Now, "ww") '出力例[38] End Sub 'mmm '月の名前を英語 (省略形) の文字列に変換して返します (Jan ~ Dec)。 Private Sub testmmm() MsgBox Format(Now, "mmm") Debug.Print Format(Now, "mmm") '出力例[Sep] End Sub 'mmmm '月の名前を英語で返します (January ~ December)。 Private Sub testmmmm() MsgBox Format(Now, "mmmm") Debug.Print Format(Now, "mmmm") '出力例[September] End Sub 'oooo '月の名前を日本語で返します (1 月 ~ 12 月)。 Private Sub testoooo() MsgBox Format(Now, "oooo") Debug.Print Format(Now, "oooo") '出力例[9月] End Sub 'q '1 年のうちで何番目の四半期に当たるかを表す数値を返します (1 ~ 4)。 Private Sub testq() MsgBox Format(Now, "q") Debug.Print Format(Now, "q") '出力例[3] End Sub 'g '年号の頭文字を返します (M、T、S、H)。 Private Sub testg() MsgBox Format(Now, "g") Debug.Print Format(Now, "g") '出力例[H] End Sub 'gg '年号の先頭の 1 文字を漢字で返します (明、大、昭、平)。 Private Sub testgg() MsgBox Format(Now, "gg") Debug.Print Format(Now, "gg") '出力例[平] End Sub 'ggg '年号を返します (明治、大正、昭和、平成)。 Private Sub testggg() MsgBox Format(Now, "ggg") Debug.Print Format(Now, "ggg") '出力例[平成] End Sub 'e '年号に基づく和暦の年を返します。1 桁の場合、先頭に 0 が付きません。 Private Sub teste() MsgBox Format(Now, "e") Debug.Print Format(Now, "e") '出力例[21] End Sub 'EE '年号に基づく和暦の年を 2 桁の数値を使って返します。1 桁の場合、先頭に 0 が付きます。 Private Sub testee() MsgBox Format("1991/09/18", "ee") Debug.Print Format("1991/09/18", "ee") '出力例[03] End Sub 'y '1 年のうちで何日目に当たるかを数値で返します (1 ~ 366)。 Private Sub testy() MsgBox Format("1991/09/18", "y") Debug.Print Format("1991/09/18", "y") '出力例[261] End Sub 'yy '西暦の年を下 2 桁の数値で返します (00 ~ 99)。 Private Sub testyy() MsgBox Format("1991/09/18", "yy") Debug.Print Format("1991/09/18", "yy") '出力例[91] End Sub 'yyyy '西暦の年を 4 桁の数値で返します (100 ~ 9999)。 Private Sub testyyyy() MsgBox Format("1991/09/18", "yyyy") Debug.Print Format("1991/09/18", "yyyy") '出力例[1991] End Sub 'h '時間を返します。1 桁の場合、先頭に 0 が付きません (0 ~ 23)。 Private Sub testh() MsgBox Format("2009/09/18 15:19:58", "h") Debug.Print Format("2009/09/18 15:19:58", "h") '出力例[15] End Sub 'hh '時間を返します。1 桁の場合、先頭に 0 が付きます (00 ~ 23)。 Private Sub testhh() MsgBox Format("2009/09/18 05:19:58", "hh") Debug.Print Format("2009/09/18 05:19:58", "hh") '出力例[05] End Sub 'N '分を返します。1 桁の場合、先頭に 0 が付きません (0 ~ 59)。 Private Sub testn() MsgBox Format("2009/09/18 05:19:58", "n") Debug.Print Format("2009/09/18 05:19:58", "n") '出力例[19] End Sub 'nn '分を返します。1 桁の場合、先頭に 0 が付きます (00 ~ 59)。 Private Sub testnn() MsgBox Format("2009/09/18 05:09:58", "nn") Debug.Print Format("2009/09/18 05:09:58", "nn") '出力例[09] End Sub 's '秒を返します。1 桁の場合、先頭に 0 が付きません (0 ~ 59)。 Private Sub tests() MsgBox Format("2009/09/18 05:09:58", "s") Debug.Print Format("2009/09/18 05:09:58", "s") '出力例[58] End Sub 'ss '秒を返します。1 桁の場合、先頭に 0 が付きます (00 ~ 59)。 Private Sub testss() MsgBox Format("2009/09/18 05:09:08", "ss") Debug.Print Format("2009/09/18 05:09:08", "ss") '出力例[08] End Sub 'tttttt 'コントロール パネルで設定されている形式で時刻を返します。 '先頭に 0 を付けるオプションが選択されていて、時刻が午前または午後 10 時以前の場合、 '先頭に 0 が付きます。既定の形式は、h:mm:ss です。 Private Sub testtttt() MsgBox Format("2009/09/18 05:09:08", "ttttt") Debug.Print Format("2009/09/18 05:09:08", "ttttt") '出力例[5:09:08] End Sub 'AM/PM '時刻が正午以前の場合は大文字で AM を返し、正午~午後 11 時 59 分の間は大文字で PM を返します。 Private Sub testAMPM() MsgBox Format("2009/09/18 05:09:08", "AM/PM") Debug.Print Format("2009/09/18 05:09:08", "AM/PM") '出力例[AM] End Sub 'am/pm '時刻が正午以前の場合は小文字で am を返し、正午~午後 11 時 59 分の間は小文字で pm を返します。 Private Sub testAMPM2() MsgBox Format("2009/09/18 05:09:08", "am/pm") Debug.Print Format("2009/09/18 05:09:08", "am/pm") '出力例[am] End Sub 'A/P '時刻が正午以前の場合は大文字で A を返し、正午~午後 11 時 59 分の間は大文字で P を返します。 Private Sub testAP() MsgBox Format("2009/09/18 05:09:08", "A/P") Debug.Print Format("2009/09/18 05:09:08", "A/P") '出力例[A] End Sub 'a/p '時刻が正午以前の場合は小文字で a を返し、正午~午後 11 時 59 分の間は小文字で p を返します。 Private Sub testAP2() MsgBox Format("2009/09/18 05:09:08", "a/p") Debug.Print Format("2009/09/18 05:09:08", "a/p") '出力例[a] End Sub 'AMPM '"12 時間制" が選択されていて、時刻が正午以前の場合は午前を表すリテラル文字列を、 '正午~午後 11 時 59 分の間は午後を表すリテラル文字列を返します。 'これらの文字列の設定および "12 時間制" の選択は、コントロール パネルで行います。 'AMPM は大文字、小文字のどちらでも指定できます。既定の形式は、AM/PM です。 Private Sub testAMPM3() MsgBox Format("2009/09/18 05:09:08", "AMPM") Debug.Print Format("2009/09/18 05:09:08", "AMPM") '出力例[午前] End Sub '定義済み日付/時刻書式 (Format 関数) ' 'General Date '日付または時刻、あるいはその両方を返します。整数部と小数部の両方を含む数値を指定すると、 '日付と時刻の両方を表す文字列 (たとえば 96/4/3 5:34) に変換します。小数部がない場合には日付のみ '(たとえば 96/4/3)、整数部がない場合には時刻のみ (たとえば 5:34) を表す文字列に変換します。 '日付と時刻の表示形式はコントロール パネルの設定により決まります。 Private Sub testGeneralDate() MsgBox Format("2009/09/18 05:09:08", "General Date") Debug.Print Format("2009/09/18 05:09:08", "General Date") '出力例[2009/09/18 5:09:08] End Sub 'Long Date '日付の長い形式 (コントロール パネルの設定) で表した日付を返します。 Private Sub testLongDate() MsgBox Format("2009/09/18 05:09:08", "Long Date") Debug.Print Format("2009/09/18 05:09:08", "Long Date") '出力例[2009年9月18日] End Sub 'Medium Date '簡略形式で表した日付を返します。ホスト アプリケーションで使用されます。 Private Sub testMediumDate() MsgBox Format("2009/09/18 05:09:08", "Medium Date") Debug.Print Format("2009/09/18 05:09:08", "Medium Date") '出力例[09-09-18] End Sub 'Short Date '日付の短い形式 (コントロール パネルの設定) で表した日付を返します。 Private Sub testShortDate() MsgBox Format("2009/09/18 05:09:08", "Short Date") Debug.Print Format("2009/09/18 05:09:08", "Short Date") '出力例[2009/09/18] End Sub 'Long Time '時刻、分、秒を含む形式で表した時刻を返します。 Private Sub testLongTime() MsgBox Format("2009/09/18 05:09:08", "Long Time") Debug.Print Format("2009/09/18 05:09:08", "Long Time") '出力例[5:09:08] End Sub 'Medium Time '時間と分を 12 時間制で表した時刻を返します。同時に午前 (AM)、午後 (PM) も追加します。 Private Sub testMediumTime() MsgBox Format("2009/09/18 05:09:08", "Medium Time") Debug.Print Format("2009/09/18 05:09:08", "Medium Time") '出力例[05:09 午前] End Sub 'Short Time '時間と分を 24 時間制で表した時刻 (たとえば 17:45) を返します。 Private Sub testShortTime() MsgBox Format("2009/09/18 05:09:08", "Short Time") Debug.Print Format("2009/09/18 05:09:08", "Short Time") '出力例[05:09] End Sub |