2.DateTime 書式指定文字の実行例及び書式設定応用例(30_Day_02) (旧、SampleNo.011/ 081) |
1.標準の日付と時刻の書式指定文字列の実行例 2.カスタムの日付と時刻の書式指定文字列の実行例 3.日付の文字列("20140507")をDate型の値に変換する 4. 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86 Option :[Compare Text] [Explicit On] [Infer On] [Strict On] Imports :追加なし 参照設定:追加なし その他 :下記の1行を Form1_Load イベント内に記入しておいて下さい。(コントロールパネルの地域の日付け形式に影響されないように) :System.Threading.Thread.CurrentThread.CurrentCulture = New Globalization.CultureInfo("ja") このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので) 必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい) |
1.標準の日付と時刻の書式指定文字列の実行例 |
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 'コントロールパネルの地域の日付け形式に影響されないように設定(このスレッドだけ) System.Threading.Thread.CurrentThread.CurrentCulture = New Globalization.CultureInfo("ja") Dim dt As System.DateTime = System.DateTime.Now TextBox1.Text = "標準の日付と時刻の書式指定文字列の実行例 (CultureInfo(""ja"") による)" & vbCrLf TextBox1.Text &= String.Format("短い形式の日付パターン (""d"") = {0}", dt.ToString("d")) & vbCrLf TextBox1.Text &= String.Format("長い形式の日付パターン (""D"") = {0}", dt.ToString("D")) & vbCrLf TextBox1.Text &= vbCrLf TextBox1.Text &= String.Format("完全な日付と時刻(短い形式の時刻) (""f"") = {0}", dt.ToString("f")) & vbCrLf TextBox1.Text &= String.Format("完全な日付と時刻(長い形式の時刻) (""F"") = {0}", dt.ToString("F")) & vbCrLf TextBox1.Text &= vbCrLf TextBox1.Text &= String.Format("一般の日付と時刻(短い形式の時刻) (""g"") = {0}", dt.ToString("g")) & vbCrLf TextBox1.Text &= String.Format("一般の日付と時刻(長い形式の時刻) (""G"") = {0}", dt.ToString("G")) & vbCrLf TextBox1.Text &= vbCrLf TextBox1.Text &= String.Format("月日パターン(ja では変わらず) (""m"") = {0}", dt.ToString("m")) & vbCrLf TextBox1.Text &= String.Format("月日パターン(ja では変わらず) (""M"") = {0}", dt.ToString("M")) & vbCrLf TextBox1.Text &= vbCrLf TextBox1.Text &= String.Format("ラウンドトリップする日付と時刻のパターン (""o"") = {0}", dt.ToString("o")) & vbCrLf TextBox1.Text &= String.Format("ラウンドトリップする日付と時刻のパターン (""O"") = {0}", dt.ToString("O")) & vbCrLf TextBox1.Text &= vbCrLf TextBox1.Text &= String.Format("RFC1123 パターン (""r"") = {0}", dt.ToString("r")) & vbCrLf TextBox1.Text &= String.Format("RFC1123 パターン (""R"") = {0}", dt.ToString("R")) & vbCrLf TextBox1.Text &= vbCrLf TextBox1.Text &= String.Format("並べ替え可能な日付と時刻のパターン (""s"") = {0}", dt.ToString("s")) & vbCrLf TextBox1.Text &= vbCrLf TextBox1.Text &= String.Format("短い形式の時刻パターン (""t"") = {0}", dt.ToString("t")) & vbCrLf TextBox1.Text &= String.Format("長い形式の時刻パターン (""T"") = {0}", dt.ToString("T")) & vbCrLf TextBox1.Text &= vbCrLf TextBox1.Text &= String.Format("並べ替え可能な日付と時刻(世界時刻) (""u"") = {0}", dt.ToString("u")) & vbCrLf TextBox1.Text &= String.Format("完全な日付と時刻のパターン (世界時刻) (""U"") = {0}", dt.ToString("U")) & vbCrLf TextBox1.Text &= vbCrLf TextBox1.Text &= String.Format("年月パターン(ja では変わらず) (""y"") = {0}", dt.ToString("y")) & vbCrLf TextBox1.Text &= String.Format("年月パターン(ja では変わらず) (""Y"") = {0}", dt.ToString("Y")) & vbCrLf TextBox1.Text &= vbCrLf '上記実行結果 '標準の日付と時刻の書式指定文字列の実行例 (CultureInfo("ja") による) '短い形式の日付パターン ("d") = 2014/05/11 '長い形式の日付パターン ("D") = 2014年5月11日 '完全な日付と時刻(短い形式の時刻) ("f") = 2014年5月11日 8:26 '完全な日付と時刻(長い形式の時刻) ("F") = 2014年5月11日 8:26:05 '一般の日付と時刻(短い形式の時刻) ("g") = 2014/05/11 8:26 '一般の日付と時刻(長い形式の時刻) ("G") = 2014/05/11 8:26:05 '月日パターン(ja では変わらず) ("m") = 5月11日 '月日パターン(ja では変わらず) ("M") = 5月11日 'ラウンドトリップする日付と時刻のパターン ("o") = 2014-05-11T08:26:05.4009187+09:00 'ラウンドトリップする日付と時刻のパターン ("O") = 2014-05-11T08:26:05.4009187+09:00 'RFC1123 パターン ("r") = Sun, 11 May 2014 08:26:05 GMT 'RFC1123 パターン ("R") = Sun, 11 May 2014 08:26:05 GMT '並べ替え可能な日付と時刻のパターン ("s") = 2014-05-11T08:26:05 '短い形式の時刻パターン ("t") = 8:26 '長い形式の時刻パターン ("T") = 8:26:05 '並べ替え可能な日付と時刻(世界時刻) ("u") = 2014-05-11 08:26:05Z '完全な日付と時刻のパターン (世界時刻) ("U") = 2014年5月10日 23:26:05 '年月パターン(ja では変わらず) ("y") = 2014年5月 '年月パターン(ja では変わらず) ("Y") = 2014年5月 End Sub |
2.カスタムの日付と時刻の書式指定文字列の実行例 |
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 'カスタムの日付と時刻の書式指定文字列の実行例 (CultureInfo(""ja"") による) 'コントロールパネルの地域の日付け形式に影響されないように設定(このスレッドだけ) System.Threading.Thread.CurrentThread.CurrentCulture = New Globalization.CultureInfo("ja") Dim dt As System.DateTime = System.DateTime.Now TextBox1.Text = "カスタムの日付と時刻の書式指定文字列の実行例 (CultureInfo(""ja"") による)" & vbCrLf TextBox1.Text &= vbCrLf 'カスタム日付/時刻書式指定文字列は、1 つ以上のカスタム数値書式指定子で構成されます。(1個では違う意味のなる) 'カスタム日付/時刻書式指定子を組み合わせることで、日付と時刻のデータの書式設定方法を決定するアプリケーション固有のパターンを定義します。 TextBox1.Text &= String.Format("短い形式の日付パターンと混同しないように...。(""d"") = {0}", dt.ToString("d")) & vbCrLf TextBox1.Text &= String.Format("月の日にち (1 〜 31) 単独使用の場合 % を付加(""%d"") = {0}", dt.ToString("%d")) & vbCrLf TextBox1.Text &= String.Format("月の日にち (1 〜 31) (""dd"") = {0}", dt.ToString("dd")) & vbCrLf TextBox1.Text &= vbCrLf TextBox1.Text &= String.Format("曜日の省略名 (""ddd"") = {0}", dt.ToString("ddd")) & vbCrLf TextBox1.Text &= String.Format("曜日の完全名 (""dddd"") = {0}", dt.ToString("dddd")) & vbCrLf TextBox1.Text &= vbCrLf TextBox1.Text &= String.Format("日時値の秒部分の 1/10 (""%f"") = {0}", dt.ToString("%f")) & vbCrLf TextBox1.Text &= String.Format("日時値の秒部分の 1/100 桁の数だけ f を付加 (""ff"") = {0}", dt.ToString("ff")) & vbCrLf TextBox1.Text &= String.Format("日時値の秒部分の 1/10000 (""ffff"") = {0}", dt.ToString("ffff")) & vbCrLf TextBox1.Text &= vbCrLf TextBox1.Text &= String.Format("日時値の秒部分の 1/10 (0 以外の場合) (""%F"") = {0}", dt.ToString("%F")) & vbCrLf TextBox1.Text &= String.Format("日時値の秒部分の 1/100 (0 以外の場合) (""FF"") = {0}", dt.ToString("FF")) & vbCrLf TextBox1.Text &= String.Format("日時値の秒部分の 1/10000 (0 以外の場合) (""FFFF"") = {0}", dt.ToString("FFFF")) & vbCrLf TextBox1.Text &= vbCrLf TextBox1.Text &= " -------------- 以下 単独文字(m 等の)の動作確認は省略します。-------------------" & vbCrLf TextBox1.Text &= vbCrLf TextBox1.Text &= String.Format("12 時間形式の時間 (01 〜 12) (""hh"") = {0}", dt.ToString("hh")) & vbCrLf TextBox1.Text &= vbCrLf TextBox1.Text &= String.Format("24 時間形式の時間 (00 〜 23) (""HH"") = {0}", dt.ToString("HH")) & vbCrLf TextBox1.Text &= vbCrLf TextBox1.Text &= String.Format("タイムゾーン情報 (""%K"") = {0}", dt.ToString("%K")) & vbCrLf TextBox1.Text &= vbCrLf TextBox1.Text &= String.Format("分 (00 〜 59) (""mm"") = {0}", dt.ToString("mm")) & vbCrLf TextBox1.Text &= vbCrLf TextBox1.Text &= String.Format("月 (01 〜 12) (""MM"") = {0}", dt.ToString("MM")) & vbCrLf TextBox1.Text &= String.Format("月の省略名 (""MMM"") = {0}", dt.ToString("MMM")) & vbCrLf TextBox1.Text &= String.Format("月の完全名 (""MMMM"") = {0}", dt.ToString("MMMM")) & vbCrLf TextBox1.Text &= vbCrLf TextBox1.Text &= String.Format("秒 (00 〜 59) (""ss"") = {0}", dt.ToString("ss")) & vbCrLf TextBox1.Text &= vbCrLf TextBox1.Text &= String.Format("AM/PM 指定子の最初の文字 (""%t"") = {0}", dt.ToString("%t")) & vbCrLf TextBox1.Text &= String.Format("AM/PM 指定子 (""tt"") = {0}", dt.ToString("tt")) & vbCrLf TextBox1.Text &= vbCrLf TextBox1.Text &= String.Format("年 (00 〜 99) (""yy"") = {0}", dt.ToString("yy")) & vbCrLf TextBox1.Text &= String.Format("年 (4 桁の数値) (""yyyy"") = {0}", dt.ToString("yyyy")) & vbCrLf TextBox1.Text &= vbCrLf TextBox1.Text &= String.Format("UTC 基準の時間単位のオフセット(先行ゼロ付き)(""zz"") = {0}", dt.ToString("zz")) & vbCrLf TextBox1.Text &= String.Format("UTC 基準とする時間および分単位のオフセット (""zzz"") = {0}", dt.ToString("zzz")) & vbCrLf TextBox1.Text &= vbCrLf '上記実行結果 'カスタムの日付と時刻の書式指定文字列の実行例 (CultureInfo("ja") による) '短い形式の日付パターンと混同しないように...。("d") = 2014/05/17 '月の日にち (1 〜 31) 単独使用の場合 % を付加("%d") = 17 '月の日にち (1 〜 31) ("dd") = 17 '曜日の省略名 ("ddd") = 土 '曜日の完全名 ("dddd") = 土曜日 '日時値の秒部分の 1/10 ("%f") = 2 '日時値の秒部分の 1/100 桁の数だけ f を付加 ("ff") = 29 '日時値の秒部分の 1/10000 ("ffff") = 2935 '日時値の秒部分の 1/10 (0 以外の場合) ("%F") = 2 '日時値の秒部分の 1/100 (0 以外の場合) ("FF") = 29 '日時値の秒部分の 1/10000 (0 以外の場合) ("FFFF") = 2935 ' -------------- 以下 単独文字(m 等の)の動作確認は省略します。------------------- '12 時間形式の時間 (01 〜 12) ("hh") = 08 '24 時間形式の時間 (00 〜 23) ("HH") = 08 'タイムゾーン情報 ("%K") = +09:00 '分 (00 〜 59) ("mm") = 40 '月 (01 〜 12) ("MM") = 05 '月の省略名 ("MMM") = 5 '月の完全名 ("MMMM") = 5月 '秒 (00 〜 59) ("ss") = 47 'AM/PM 指定子の最初の文字 ("%t") = 午 'AM/PM 指定子 ("tt") = 午前 '年 (00 〜 99) ("yy") = 14 '年 (4 桁の数値) ("yyyy") = 2014 'UTC 基準の時間単位のオフセット(先行ゼロ付き)("zz") = +09 'UTC 基準とする時間および分単位のオフセット ("zzz") = +09:00 End Sub |
3.日付の文字列("20140507")をDate型の値に変換する |
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click '日付の文字列("20140507")をDate型の値に変換する Dim dt As DateTime Dim strDate As String = "20140507" dt = DateTime.Parse(String.Format("{0:0000/00/00}", CDbl(strDate))) Debug.WriteLine(dt.ToString("d")) '結果 2014/05/07 dt = DateTime.Parse(Format(Integer.Parse(strDate), "0000/00/00")) Debug.WriteLine(dt.ToString("d")) '結果 2014/05/07 dt = DateTime.Parse(CLng(strDate).ToString("0000/00/00")) Debug.WriteLine(dt.ToString("d")) '結果 2014/05/07 dt = DateTime.Parse(Format(CLng(strDate), "0000/00/00")) Debug.WriteLine(dt.ToString("d")) '結果 2014/05/07 End Sub |
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |