文化を設定するためのこのコードがあります
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";