web-dev-qa-db-ja.com

メソッド「ToString」のオーバーロードは、日付をキャストするときに1つの引数を取ります

Angular ui-DatepickerからSQLデータベースに日付を保存しようとしています。日付は(10-27-2015 12:00 AM)の形式ですが、保存されません。次を使用してSQL DateTime形式に変換しようとしました。

    DateTime? myDate = form.dteStartDate;
    string sqlFormattedDate = myDate.ToString("yyyy-MM-dd HH:mm:ss");

しかし、「メソッド 'ToString'のオーバーロードは1つの引数を取ります。SQLのフィールドは 'datetime'型です」というエラーが表示されます。

どんな援助も大歓迎です。

29
Rani Radcliff

使用したいのは DateTime.ToString(format) not Nullable<DateTime>.ToString(no overload)

DateTime? myDate = form.dteStartDate;
string sqlFormattedDate = myDate.Value.ToString("yyyy-MM-dd HH:mm:ss");

もちろん、これは値がない場合を処理しません。おそらくこのようなもの:

string sqlFormattedDate = myDate.HasValue 
    ? myDate.Value.ToString("yyyy-MM-dd HH:mm:ss")
    : "<not available>";
88
Tim Schmelter

それは正常に動作します。

DateTime? strDate = form.dteStartDate;
strDate.Value.ToString("yyyy-MM-dd HH:mm tt");
4
N Islam
 string sqlFormattedDate = ((DateTime)myDate).ToString("yyyy-MM-dd HH:mm:ss");

また、.cshtmlでサーバー側コードを使用し、このキャストを次のように管理できる場合(たとえば):

   <label>Establish: @(((DateTime)Model.EstablishDate).ToString("yyyy-MM-dd"))</label>
4
Elnaz