2006年04月25日

和暦表示

VB.NETになって不便になったことはいろいろあるが、和暦表示はその最たるものの一つ。Format関数でダイレクトに使えないところが不便極まりない。
今回は取り上げないが、DateTimePicker(VB6ではDTPicker)コントロールでの和暦表示がコントロールパネルの地域オプションで日付を和暦にしないと使えないらしい。困ったことだ(--#

VB6
'西暦の今日を和暦にする
Dim Wareki As String
Wareki = Format(Date, "gggee年mm月dd日")
'「平成18年04月25日」となる。
 
VB.NET
Dim Wareki As String
Dim cult As System.Globalization.CultureInfo = _
New System.Globalization.CultureInfo("ja-JP")
cult.DateTimeFormat.Calendar = _
New System.Globalization.JapaneseCalendar
Wareki = Today.ToString("ggyy年MM月dd日", cult)

実はVB.NETには不具合のおまけがあり、1桁の年の場合 "ggy年M月d日"と記述しても平成0x年と0が頭に付いてしまう。

毎回長々と記述するのは賢くないので関数化すると以下のようになる。

Imports System.Globalization
 
Public Function JpnFormat(ByVal tday As DateTime) As String
'tday : 日付
'-----------
Dim cult As CultureInfo = New CultureInfo("ja-JP")
cult.DateTimeFormat.Calendar = New JapaneseCalendar
Return tday.ToString("ggyy年MM月dd日", cult)
End Function


posted by なっちゃん at 16:33| 静岡 ☀| Comment(0) | TrackBack(0) | VB vs VB.NET | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。