如何将从数据库检索到的smalldatetime转换回smalldatetime以转发到数据库

本文关键字:smalldatetime 数据库 转换 转发 检索 | 更新日期: 2023-09-27 17:58:12

我有一个表单,它从我的"smalltime"类型的数据库中获取一个项,我想将其作为"smalldatetime"重新添加到另一个数据库中。然而,我遇到的问题是读取我的项的字符串。我不确定采取什么方法来转换这一点,但以下是我迄今为止所拥有的:

var checkOutDate = Convert.ToDateTime(ddlCheckOutDate.Text);
sl.ReqCheckOutDate = checkOutDate;

有人能帮我跨过这个障碍吗?

如何将从数据库检索到的smalldatetime转换回smalldatetime以转发到数据库

您报告的问题是由于文化差异。您使用的是美国格式的日期,并且当前区域性设置为英国或类似地区,因此它认为您使用的日期为2013年12月14日,因此日期为2013年月日,因此无效。

使用DateTime。ParseExact将允许您控制日期的精确转换:

CultureInfo provider = CultureInfo.InvariantCulture;
string dateAsText = "12/14/2012 12:00:00 PM";
DateTime something = DateTime.ParseExact(dateAsText, "MM/dd/yyyy hh:mm:ss tt", provider);