表紙へ

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")
 

 

."20040805" のように変換する例


TextBox1.Text = Now.ToString("yyyyMMdd")
 

 

."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互換ライブラリを参照するともっとスマートにできる。

もっと良い方法をご存知の方は是非掲示板でお知らせください。

メモ:明治改元より前の日付は正確に変換できません。

 

."平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
 

メモ:この例の変換結果は日付の「短い形式」および「時刻」の設定内容によって異なります。