2017-10-12 8 views
0

に適切なフォーマットで格納されたデータを示していない私は、エンティティに時間データ型プロパティ・フィールドを有する:C#のMVCかみそりdatatype.time editorfor編集

かみそりビューで
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:hh:mm}")] 
[DataType(DataType.Time)] 
public DateTime BeginTime { get; set; } 

Iは

を作成および編集にこのコードを有します
@Html.EditorFor(model => model.BeginTime, new { htmlAttributes = new { @class = "form-control" } }) 

作成時には、タイムピッカーを使用してこのフィールドを正しい形式で埋め込むことができます(例:01:15 pm)。データベース上では、正しい日時フォーマット "2017-10-12 13:15:00.000"で格納されます。

編集時には01:15の午前を示しています。オブジェクトを再度保存すると、データベースのデータ(「2017-10-12 01:15:00.000」)に01:15午後のフィールドが変更されます。財産の

設定表示形式:

は、私はこれを試してみました "HH:MMのTT"

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:hh:mm tt}")] 
[DataType(DataType.Time)] 
public DateTime BeginTime { get; set; } 

しかし、編集上、それは(のようなフィールドに空の値をとります - : - ---)保存したデータを削除します。

編集ビューで誰かがこのフォーマットの問題を解決する方法を知っていますか?

+0

文法上の間違いが多かったのは残念ですが、私はスペイン語の講師ですが、私は英語を話すことを試みています –

答えて

0

これを試してください -

[displayFormatに(ApplyFormatInEditMode =真、DataFormatString = "{0:HH:MM}")]詳細について

: - HH対 HH: - Difference between java HH:mm and hh:mm on SimpleDateFormat

うまくいくと思います。

+0

はい、うまくいっています!回答ありがとうございます。インデックスに1-24時間のフォーマットを表示しますが、@ item.BeginTime.Value.ToString( "hh:mm tt")で表示することもできます。再度、感謝します。 –

関連する問題