web-dev-qa-db-ja.com

Asp.NET MVCでdd / mm / yyyy形式でDateTime値を表示する

HTML HeplerAsp.NET MVCメソッドを使用して、dd/mm/yyyy形式でDateTime値を表示することは可能ですか? @Html.LabelForでいくつかの形式を使用し、以下のような関連するプロパティにいくつかの注釈を追加することでこれを実行しようとしましたが、意味がありません。この問題を解決するための助けをいただければ幸いです。

モデル:

[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public Nullable<System.DateTime> RegistrationDate { get; set; }
61
Murat Yıldız

あなたがしなければならないのは、htmlヘルパー呼び出しで必要な形式を適用することです。

@Html.TextBoxFor(m => m.RegistrationDate, "{0:dd/MM/yyyy}")

モデルクラスに日付形式を指定する必要はありません。

79
Mahajan344

数時間の検索の後、数行のコードでこの問題を解決しました

あなたのモデル

      [Required(ErrorMessage = "Enter the issued date.")]
      [DataType(DataType.Date)]
      public DateTime IssueDate { get; set; }

カミソリページ

     @Html.TextBoxFor(model => model.IssueDate)
     @Html.ValidationMessageFor(model => model.IssueDate)

Jquery DatePicker

<script type="text/javascript">
    $(document).ready(function () {
        $('#IssueDate').datepicker({
            dateFormat: "dd/mm/yy",
            showStatus: true,
            showWeeks: true,
            currentText: 'Now',
            autoSize: true,
            gotoCurrent: true,
            showAnim: 'blind',
            highlightWeek: true
        });
    });
</script>

Webconfigファイル

    <system.web>
        <globalization uiCulture="en" culture="en-GB"/>
    </system.web>

これで、テキストボックスは"dd/MM/yyyy"形式を受け入れます。

50
iYogi

これは古い質問ですが、参考のために、データ注釈やその他の設定なしで日付をフォーマットするための本当に簡単な方法は次のとおりです。

@Html.TextBoxFor(m => m.StartDate, new { @Value = Model.StartDate.ToString("dd-MMM-yyyy") })

もちろん、上記の形式は何にでも変更できます。

9
Dav.id

または、これをビューで使用します(Razorページ)

@item.ResgistrationhaseDate.ToString(string.Format("dd/MM/yyyy"))

モデルクラスに日付形式を追加しないことをお勧めします

6
Ayman

質問は「表示」だったので:

@Html.ValueFor(model => model.RegistrationDate, "{0:dd/MM/yyyy}")
6
Steven

HTMLヘルパーを使用する必要があり、モデルクラスで日付形式を提供する必要はありません。 e.x:

@Html.TextBoxFor(m => m.ResgistrationhaseDate, "{0:dd/MM/yyyy}")
2
Jehad87