using System.Globalization;
public static void Main()
var datetime1 = new DateTime(2012, 2, 29);
Console.WriteLine(datetime1);
var datetime2 = datetime1.ToFullTaiwanDate();
Console.WriteLine(datetime2);
var datetime3 = datetime1.ToSimpleTaiwanDate();
Console.WriteLine(datetime3);
public static class DateTimeExtensions
public static string ToFullTaiwanDate(this DateTime datetime)
TaiwanCalendar taiwanCalendar = new TaiwanCalendar();
return string.Format("民國 {0} 年 {1} 月 {2} 日",
taiwanCalendar.GetYear(datetime),
public static string ToSimpleTaiwanDate(this DateTime datetime)
TaiwanCalendar taiwanCalendar = new TaiwanCalendar();
return string.Format("{0}/{1}/{2}",
taiwanCalendar.GetYear(datetime),