如何將今天日期顯示於 TextBox 中,且日期格式從西元轉換為民國 ( 2009 轉換為 98 )
1. 問題描述
使用 DateTime.Now 取得今天的日期時間,但取得的日期格式為西元年,
如何將今天日期顯示於 TextBox 中,且日期格式從西元轉換為民國 ( 2009 轉換為 98 )。
2. 方法
可以使用以下兩種方式
2.1 西元轉換民國為 -1911 年,因此可參考以下程式碼作轉換
C#
textBox1.Text = Convert.ToInt16(DateTime.Now.AddYears(-1911).Year) + DateTime.Now.ToString("/MM/dd");
VB.NET
TextBox1.Text = Convert.ToInt16(DateTime.Now.AddYears(-1911).Year) & DateTime.Now.ToString("/MM/dd")
執行結果
2.2 透過 TaiwanCalendar 類別
在命名空間 System.Globalization 中,有 TaiwanCalendar 類別 : 表示台灣使用的曆法。
可使用以下程式碼達成西元轉民國
C#
DateTime dtNow = DateTime.Now;
System.Globalization.TaiwanCalendar twC = new System.Globalization.TaiwanCalendar();
this.textBox1.Text = twC.GetYear(dtNow) + dtNow.ToString("/MM/dd");
VB.NET
Dim dtNow = DateTime.Now
Dim twC = New System.Globalization.TaiwanCalendar()
TextBox1.Text = twC.GetYear(dtNow).ToString + dtNow.ToString("/MM/dd")
執行結果
3. 參考