Asp.net mvc Net MVC-如何将日期时间转换为格式(yyyy-MM-dd-HH:MM:ss.fff)

Asp.net mvc Net MVC-如何将日期时间转换为格式(yyyy-MM-dd-HH:MM:ss.fff),asp.net-mvc,datetime,datepicker,Asp.net Mvc,Datetime,Datepicker,尝试更新包含Datetime字段的表时出错,错误如下: System.FormatException: String was not recognized as a valid DateTime. 在我的数据库格式datetime中,如下所示: "yyyy-MM-dd HH:mm:ss.fff" Ex : 2017-08-18 00:00:00.000 但在我看来,结果格式datetime是: "MM/dd/yyyy HH:mm:ss" Ex: 8/18/2017 00:00

尝试更新包含Datetime字段的表时出错,错误如下:

System.FormatException: String was not recognized as a valid DateTime.
在我的数据库格式datetime中,如下所示:

"yyyy-MM-dd HH:mm:ss.fff"     Ex : 2017-08-18 00:00:00.000
但在我看来,结果格式datetime是:

"MM/dd/yyyy HH:mm:ss"    Ex:  8/18/2017 00:00:00 AM
所以我得到了错误,无法更新, 任何人请帮我解决我的问题。谢谢


Convert.todatetime您的日期变量CultureInfo.CurrentCulture.ToStringyyyy-MM-dd HH:MM:ss.fff 问题似乎是您正在将日期保存为字符串类型。在格式化日期之前,需要创建日期时间对象:

var date = DateTime.Parse(model.dateValue);
var printInfo = string.Format("{0:MM/dd/yyyy HH:mm:ss}", date);
使用printInfo中的值在html中显示

您还可以使用:

// 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));

什么代码会产生错误?数据库中的日期没有格式-您只需查看数据库的显示方式即可it@StephenMuecke哦,我只知道数据库中的日期没有格式。如果是这样的话,我想错误可能来自我的控制器,我可以在这个注释中复制我的代码吗?如果你不介意的话。当我从视图中更新它时,我从datepicker格式获取日期,您的代码需要在问题中。但是,服务器上的区域性是否期望以这种格式显示日期?如果没有,则需要更改区域性,或创建自定义ModelBinder@StephenMuecke是的,您是对的,错误来自ModelBinderExtension\DateTimeModelBinder.cs。@StephenMuecke是的,您是对的,错误来自ModelBinderExtension\DateTimeModelBinder.cs。但我不知道如何解决这个问题。此代码中的错误:return DateTime.ParseExactdate.Trim.Split“”[0],_customFormat,CultureInfo.InvariantCulture;