例如: 平成XX年
DateTime dt = DateTime.Parse("2014/09/26"); CultureInfo culture = CultureInfo.CreateSpecificCulture("ja-JP"); DateTimeFormatInfo dtfi = culture.DateTimeFormat; dtfi.Calendar = new JapaneseCalendar(); Thread.CurrentThread.CurrentCulture = culture; ViewData["date"] = dt.ToString("F", culture);
上面這個寫法會把整個 thread 的 culture info 改成 ja-JP,不是那麼好用。
下面的寫法比較好,利用CultureInfor做為formatter,在呼叫 .ToString() 時作用。
DateTime dt = DateTime.Parse("2014/09/26"); CultureInfo ci = new CultureInfo("ja-JP"); Calendar cal = new JapaneseCalendar(); ci.DateTimeFormat.Calendar = cal; string strWareki = dt.ToString("ggyy/MM/dd", ci); Console.WriteLine(strWareki);