我正在尝试将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'类型。
非常感谢任何帮助。
答案 0 :(得分:85)
您想使用DateTime.ToString(format)
而不是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>";
答案 1 :(得分:4)
它会正常工作。
DateTime? strDate = form.dteStartDate;
strDate.Value.ToString("yyyy-MM-dd HH:mm tt");
答案 2 :(得分:4)
string sqlFormattedDate = ((DateTime)myDate).ToString("yyyy-MM-dd HH:mm:ss");
此外,如果您可以在.cshtml
中使用服务器端代码并按照以下方式管理此转换(例如):
<label>Establish: @(((DateTime)Model.EstablishDate).ToString("yyyy-MM-dd"))</label>
答案 3 :(得分:3)
另一种方法是在“ myDate”变量后面添加问号。
DateTime? myDate = form.dteStartDate;
string sqlFormattedDate = myDate?.ToString("yyyy-MM-dd HH:mm:ss");
答案 4 :(得分:2)
最直接的方法是编写:
DateTime? myDate = form.dteStartDate;
string sqlFormattedDate = myDate?.ToString("yyyy-MM-dd HH:mm:ss") ?? "N/A";
添加?之后myDate将检查它是否不为null,并带有?您将处理变量为null的情况。