MSDNフォーラムでも書きこみましたが、
人のソースを使って、真似して書いたのはいいのだけれど、
その人のページがどこに行ったかわからなくなり。
謝罪の意味を込めて載せます。(すいません)
不動産登記は、明治時代の地券制度にはじまり、
誰かその土地を持っているのか公示するための制度です。
従って、年号などはすべて和暦で表示されているわけです。
VisualStudioは、マクロソフトの製品だし、
世界的にも西暦が標準であるのは理解できる。
日本の制度に合う表示がしたいと思うジレンマの中、
和暦で表示するVBが書けた
Imports System
Imports System.Globalization
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
DateTimePicker.Format = DateTimePickerFormat.Custom
DateTimePicker.CustomFormat = FrmtJPCalender(DateTimePicker.Value)
End Sub
Public Function FrmtJPCalender(ByVal frtday As DateTime) As String
Dim calender As JapaneseCalendar = New JapaneseCalendar
Dim era As Integer = calender.GetEra(frtday)
Dim toshi() As String = {"明治", "大正", "昭和", "平成"}
Select Case era
Case 1 To 4
Return String.Format("{0}{1:00}年MM月dd日", toshi(era - 1), calender.GetYear(frtday))
Case Else
Return "yyyy/MM/dd"
End Select
End Function
Private Sub DateTimePicker_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DateTimePicker.ValueChanged
DateTimePicker.CustomFormat = FrmtJPCalender(DateTimePicker.Value)
End Sub
Private Sub DateTimePicker_VisibleChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DateTimePicker.VisibleChanged
DateTimePicker.CustomFormat = FrmtJPCalender(DateTimePicker.Value)
End Sub
DateTimePickerを和暦で表示するのですが、
あまり万能なコントロールでもないみたいで、課題はあります。
が、入力するのに、カレンダーを表示してくれるのは、ありがたいと思い、
なんとか使ってやろうと思う今日この頃。
管理・出力は西暦、ブラウズは、和暦
ま、どっちゃでもいいと思うんですけどね^^;