2008年3月19日 星期三

.NET 會算中華民國曆嗎?

答案是: Yes!!

.NET Framework (2.0以上)的類別庫中有一個 TaiwanCalendar (參考http://msdn2.microsoft.com/zh-tw/library/system.globalization.taiwancalendar.aspx)

不過, 台灣曆法與西曆只有差在紀元的計算, 例如, 西曆的2008年3月18日, 等於中華民國年的97年3月18日.

比較常用的會是它的GetYear方法, 如以下範例:

Dim cal As New TaiwanCalendar
Dim twYear As Integer = cal.GetYear(Date.Now)
MessageBox.Show("現在是中華民國:" & twYear & "年")
如果想直接讓應用程式使用中華民國曆法, 可以這樣寫:
Dim twCI As New CultureInfo("zh-TW")
twCI.DateTimeFormat.Calendar = New TaiwanCalendar()
Thread.CurrentThread.CurrentCulture = twCI
Console.WriteLine(Date.Now.ToLongDateString)

            CultureInfo twCI =new CultureInfo("zh-TW")  ;
twCI.DateTimeFormat.Calendar = new TaiwanCalendar() ;
Thread.CurrentThread.CurrentCulture = twCI ;
listBox1.Items.Add(DateTime.Now.ToLongDateString());

這樣將會印出如下格式的日期:
中華民國97年3月18日

1 則留言: