2017-08-21 18 views
-1

Datetimeのフィールドを持つテーブルを更新しようとするとエラーが表示されます。これはエラーです:ASP.Net MVC - datetime形式のデータを変換する方法(yyyy-MM-dd HH:mm:ss.fff)

このように私のデータベース形式の日時で
System.FormatException: String was not recognized as a valid DateTime. 

"yyyy-MM-dd HH:mm:ss.fff"  Ex : 2017-08-18 00:00:00.000 

が、私のビューからの結果フォーマットの日時は次のとおりです。

"MM/dd/yyyy HH:mm:ss" Ex: 8/18/2017 00:00:00 AM 

だから私はエラーが発生し、更新することはできません 誰も私の問題を助けてください。あなたは

+0

何のコードでエラーが発生しましたか? (データベースの日付にはフォーマットがありません。データベースの表示方法を見ているだけです) –

+0

@StephenMueckeああ、ちょうどデータベースの日付にはフォーマットがないことは分かっていました。そのような場合、私はエラーが多分私のコントローラから来ると思う、私はこのコメントの私のコードをコピーできますか?あなたが気にしないのなら。 私のビューから更新すると、datepickerフォーマットの日付が取得されます。 – Fitre

+0

あなたのコードは質問の中にある必要があります。しかし、あなたのサーバー上の文化はその形式で日付を期待していますか? (そうでなければ、カルチャを変更するか、カスタムModelBinderを作成する必要があります) –

答えて

1

Convert.ToDateTime(Your date variable, CultureInfo.CurrentCulture).ToString("yyyy-MM-dd HH:mm:ss.fff");

あなたは、問題は、あなたが文字列型など、あなたの日付を保存しているようで、上記のコード

0

を使用して、日付を変換することができ感謝しています。日付をフォーマットする前に、DateTimeオブジェクトを作成する必要があります。

var date = DateTime.Parse(model.dateValue); 
var printInfo = string.Format("{0:MM/dd/yyyy HH:mm:ss}", date); 

htmlで表示するには、printInfoの値を使用します。

また、使用することができます。

// Sample 01: 
Convert.ToDateTime(model.dateValue).ToString("MM/dd/yyyy HH:mm:ss"); 

// Sample 02: 
DateTime.Parse(model.dateValue).ToString("MM/dd/yyyy HH:mm:ss"); 

// Sample 03: 
string.Format("{0:MM/dd/yyyy HH:mm:ss}", DateTime.Parse(model.dateValue)); 
関連する問題