在转换日期时,方法'ToString'没有重载需要1个参数

Ran*_*iff 30 .net c# datetime angularjs

我正在尝试将我的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");
Run Code Online (Sandbox Code Playgroud)

但是我收到错误"方法'ToString'没有重载需要1个参数.SQL中的字段是'datetime'类型.

非常感谢任何帮助.

Tim*_*ter 91

你想用DateTime.ToString(format)Nullable<DateTime>.ToString(no overload):

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

当然,这并不能解决没有价值的情况.也许是这样的:

string sqlFormattedDate = myDate.HasValue 
    ? myDate.Value.ToString("yyyy-MM-dd HH:mm:ss")
    : "<not available>";
Run Code Online (Sandbox Code Playgroud)


ant*_*prd 13

最直接的方法是编写:

DateTime? myDate = form.dteStartDate;    
string sqlFormattedDate = myDate?.ToString("yyyy-MM-dd HH:mm:ss") ?? "N/A";
Run Code Online (Sandbox Code Playgroud)

添加?myDate 之后将检查它是否不为空,并使用 ?? 您将处理变量为空的情况。


小智 5

它将正常工作。

DateTime? strDate = form.dteStartDate;
strDate.Value.ToString("yyyy-MM-dd HH:mm tt");
Run Code Online (Sandbox Code Playgroud)


Eln*_*naz 5

 string sqlFormattedDate = ((DateTime)myDate).ToString("yyyy-MM-dd HH:mm:ss");
Run Code Online (Sandbox Code Playgroud)

另外,如果您可以使用服务器端代码.cshtml并​​按如下方式管理此转换(例如):

   <label>Establish: @(((DateTime)Model.EstablishDate).ToString("yyyy-MM-dd"))</label>
Run Code Online (Sandbox Code Playgroud)