我有這樣的代碼在ASPX代碼以此來這裏設置的文化爲什麼en-IE文化在格式化字符串中不給我AM PM?
public static CultureInfo GetRegionDefaultCulture(int regionId)
{
// removed code to shorten....
return CultureInfo.CreateSpecificCulture("en-au");
}
使用它後面的代碼在我的測試例子
Thread.CurrentThread.CurrentCulture =
CultureHelper.GetRegionDefaultCulture(regionId);
我的測試例的背後
DateTime dtNow = DateTime.Now;
Response.Write("<br/>" + dtNow.ToString("dd MMM yyyy hh:mm tt"));
輸出
09 Nov 2010 04:42 PM
如果我更新的代碼使用任何這些文化,我也正確地得到AM/PM輸出
en-PH
en-GB
en-US
en-JM
如果我更新代碼使用
en-IE
輸出
09 Nov 2010 04:44
我錯過了什麼嗎?爲什麼en-IE的行爲不同?
答案 從@Jordans答案獲得。
添加這一點的代碼工作。
DateTimeFormatInfo info = CultureInfo.CurrentCulture.DateTimeFormat;
info.AMDesignator = "AM";
info.PMDesignator = "PM";
備案:http://en.wikipedia.org/wiki/Date_and_time_notation_by_country#Ireland – Kobi 2010-11-09 05:55:56
國際化意味着並不總是獲得相同的產出。 – 2010-11-09 05:56:44