输入字符串的DateTime格式不正确
本文关键字:格式 不正确 DateTime 字符串 输入 | 更新日期: 2023-09-27 18:29:40
我有一个DatePicker,我试图将其值插入SQL Server表的Date字段。
tbl_leave_student updateStdLeave = new tbl_leave_student{
leave_from=Convert.ToDateTime( dpLeaveFromStd.SelectedDate.GetValueOrDefault())
};
db.tbl_leave_students.InsertOnSubmit(updateStdLeave);
db.SubmitChanges();
这会产生一个带有消息的格式异常
输入字符串的格式不正确
我尝试过在没有Convert.ToDateTime
和dpLeaveFromStd.SelectedDate (without the .GetValueOrDefault())
的情况下插入,但也出现了同样的错误。为什么?
我猜您使用的是一个可为null的DatePicker,可能会得到一个null值,
所以你应该尝试将代码修改为
leave_from = dpLeaveFromStd.SelectedDate.GetValueOrDefault(DateTime.Now);
因此,如果值为null
您可以执行以下
leave_from = dpLeaveFromStd.SelectedDate ?? DateTime.Now;
您应该始终使用DateTime.TryParseExact.
string[] formats = { "dddd, dd MMMM yyyy" }; //your format here
DateTime dt;
if (DateTime.TryParseExact(dpLeaveFromStd.SelectedDate.GetValueOrDefault(), formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
{
}