私は自分の地域の設定(チェコ語の場合、文化cs-CZ)で、次のように短時間/長時間のパターンを設定しました。
- 短時間:H.mm
- 長い時間:H.mm.ss
これらの設定をC#アプリケーションで使用しようとしています。次のコンソールアプリでは、すべてが機能します。
システムを使用する; System.Globalizationを使用します。
class Program
{
static void Main()
{
Console.WriteLine(CultureInfo.CurrentCulture.Name);
Console.WriteLine(CultureInfo.CurrentCulture.DateTimeFormat.LongTimePattern);
Console.ReadLine();
}
}
私が思ったように、出力は次のとおりです。
cs-CZ
H.mm.ss
私はASP.NETアプリケーションを作成しましたが、これは驚いたことに、これを反映していません。
最小限の例:
<%@ Page Language="C#" %>
<%= System.Globalization.CultureInfo.CurrentCulture.Name %><br />
<%= System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.LongTimePattern %>
出力:
cs-CZ
H:mm:ss
.NET2.0、.NET4.0を再起動してみましたが、まだ効果がありません。
注-この問題はバグの一部として発生しました。DateTime.ToString()にInvariantCultureを含めるのを忘れたため、JSONデシリアライザーで解析する必要があります。(この問題を抱えている人は、時間形式の区切り文字が多少異なります)。
CultureInfoの再作成で問題を修正することは私が探しているものではありません。どうしても問題を再現できなかったので、理由を確認したいだけです。