VB.NET
日付を文字列に変換する例
以下の例ではすべてシステム日付(=Now)を変換している。
実際に使用する際にはNowの代わりに任意の日付型の値を指定することができる。
1."2004/08/05" のように変換する例
TextBox1.Text = Now.ToString("yyyy/MM/dd")
2."2004/8/5" のように変換する例
TextBox1.Text = Now.ToString("yyyy/M/d")
3."2004年08月05日" のように変換する例
TextBox1.Text = Now.ToString("yyyy年MM月dd日")
4."04/08/05" のように変換する例
TextBox1.Text = Now.ToString("yy/MM/dd")
5."20040805" のように変換する例
TextBox1.Text = Now.ToString("yyyyMMdd")
6."H16/08/05" のように変換する例
Dim MyDate As Date = Now
Dim Japan As New Globalization.JapaneseCalendar
Dim St As String
Dim g() As String = {"M", "T", "S", "H"}St = MyDate.ToString("{0}{1}/MM/dd")
TextBox1.Text = String.Format(St, g(Japan.GetEra(MyDate) - 1), Japan.GetYear(MyDate).ToString("00"))
VB6互換ライブラリを参照するともっとスマートにできる。
もっと良い方法をご存知の方は是非掲示板でお知らせください。
メモ:明治改元より前の日付は正確に変換できません。
7."平16年8月5日" のように変換する例
Dim MyDate As Date = Now
Dim Japan As New Globalization.JapaneseCalendar
Dim St As String
Dim gg() As String = {"明", "大", "昭", "平"}St = MyDate.ToString("{0}{1}/M/d")
TextBox1.Text = String.Format(St, gg(Japan.GetEra(MyDate) - 1), Japan.GetYear(MyDate))
VB6互換ライブラリを参照するともっとスマートにできる。
もっと良い方法をご存知の方は是非掲示板でお知らせください。
メモ:明治改元より前の日付は正確に変換できません。
8."平成16年8月5日" のように変換する例
Dim MyDate As Date = Now
Dim Japan As New Globalization.JapaneseCalendar
Dim St As String
Dim ggg() As String = {"明治", "大正", "昭和", "平成"}St = MyDate.ToString("{0}{1}/M/d")
TextBox1.Text = String.Format(St, ggg(Japan.GetEra(MyDate) - 1), Japan.GetYear(MyDate))
CultureInfoクラスを使うともう少しスマートにできるが年が1桁のときに先頭に 0 がつくことを防げない。
VB6互換ライブラリを参照するともっとスマートにできる。
もっと良い方法をご存知の方は是非掲示板でお知らせください。
メモ:明治改元より前の日付は正確に変換できません。
9."08.05.2004" のように変換する例
TextBox1.Text = Now.ToString("MM.dd.yyyy")
10."200408" のように変換する例
TextBox1.Text = Now.ToString("yyyyMM")
11.コントロールパネルの「地域と言語のオプション」の日付の「短い形式」および「時刻」で設定されている形式に変換する例
TextBox1.Text = Now.ToString
メモ:この例の変換結果は日付の「短い形式」および「時刻」の設定内容によって異なります。