2

私の開発アプリケーションの1つは、今日、英国のフォーマットを期待している米国のフォーマットされた短い日付の表示を開始しました。

日付はを使用してレンダリングされていますdate.ToShortDateString()

地域の設定、キーボードの設定、ブラウザの設定、web.configをすでに確認しました。これらはすべて英語(UK)に設定されているか、変更されていません。また、何度も再起動しました。

同じ開発サーバーと同じWebサイト(異なるWebアプリケーション)から実行されている同じアプリケーションのモバイルバージョンが正しく機能しています。

環境:

  • Windows764ビット
  • Visual Studio 2010 Professional
  • IIS 7.5

日付の表示に影響を与える可能性のある地域設定を他にどこで変更できますか?

4

2 に答える 2

4

Webサイトがブラウザの優先言語から地域設定を取得し、それらをASPサイトに適用するようにプログラムされていない限り、Windowsの地域設定はどのWebサイトにも影響しません。

globalizationのオプションを使用しますweb.config

<globalization culture="es-AR" uiCulture="es" />

また

global.aspx Application_BeginRequestメソッドに値を設定します

Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
    Dim lang As String = "es"
    If HttpContext.Current.Request.Path.Contains("/en/") Then
        lang = "en"
    ElseIf HttpContext.Current.Request.Path.Contains("/pt/") Then
        lang = "pt"
    ElseIf HttpContext.Current.Request.Path.Contains("/es/") Then
        lang = "es"
    End If
    Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(lang)
    Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(lang)
End Sub
于 2012-11-15T16:42:05.547 に答える
1

MSDNから

現在のDateTimeオブジェクトの値は、現在のスレッドカルチャに関連付けられたDateTimeFormatInfo.ShortDatePatternプロパティによって定義されたパターンを使用してフォーマットされます。戻り値は、ToString(String)メソッドで「d」標準のDateTime形式の文字列を指定して返される値と同じです。

現在のスレッドのカルチャを変更してみましたか?これは、ページごとに設定することもできます-http://msdn.microsoft.com/en-us/library/bz9tc508%28v=vs.85%29.aspx

于 2012-11-15T16:41:02.770 に答える