VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

メニューへ戻ります。 日付・時刻関係のメニュー
1.日付・時刻に関する System 名前空間のメソッド等の紹介
2.DateTime 書式指定文字の実行例及び書式設定応用例
3.日付・時刻に関するワンポイントテクニック集
4.満年齢と月数・日数を取得及び干支を取得
5.
6.
7.
8.
9.
10.
11.
12.
 .
20.その他、当サイト内に掲載の日付・時刻に関するサンプル


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.


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)





このページのトップへ移動します。