3

次のようなプロパティがあります。

[DataType(DataType.DateTime)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
public DateTime ? EndDate { set; get; }

私が使うとき

@Html.DisplayFor(modelItem => item.EndDate)

次のような結果が得られます。

17.07.2013 

なぜそれが起こっているのですか?

4

1 に答える 1

2

これを行うにはいくつかの方法があります。

また:

  • Web アプリケーションを実行しているユーザーの地域設定を変更する
  • 書式設定時に正しい CultureInfo オブジェクトを使用する
  • 現在のスレッドに既定の CultureInfo オブジェクトを設定します
  • スラッシュをエスケープする

書式設定時に CultureInfo オブジェクトを提供するには:

@Html.DisplayFor(modelItem => item.EndDate.ToString("dd/MM/yyyy", CultureInfo.GetCulture("en-US")))

デフォルトの CultureInfo オブジェクトを設定するには:

Thread.CurrentThread.CurrentCulture = CultureInfo.GetCulture("en-US");

スラッシュをエスケープするには、一重引用符を使用します。

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd'/'MM'/'yyyy}")]

すべてのコードがDateTime.ToString(string)またはそのオーバーロードの 1 つになることに注意してください。そのため、ここで手がかりを探します。

于 2013-07-17T13:10:30.947 に答える