У меня есть этот код, чтобы установить культуру
public static CultureInfo GetRegionDefaultCulture(int regionId)
{
// removed code to shorten....
return CultureInfo.CreateSpecificCulture("en-au");
}
, используя его здесь, в приведенном ниже коде в моем тестовом примере
Thread.CurrentThread.CurrentCulture =
CultureHelper.GetRegionDefaultCulture(regionId);
, используя его в коде aspx позади моего тестового примера
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";