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

时间:2013-02-06 15:01:20

标签: c# sql visual-studio

我有一个表格从我的“smalltime”类型的数据库中获取一个项目,我想将其重新添加到另一个数据库中作为“smalldatetime”但是我遇到的问题是我的项目是一个字符串。我不知道采取什么方法来转换它,但这是我到目前为止所做的:

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

任何人都可以帮助我克服这个障碍吗?

1 个答案:

答案 0 :(得分:1)

您报告的问题是由于文化差异造成的。您使用的是美国格式化日期,当前文化设置为英国或类似日期,因此它认为您正在使用日/月/年,这使得2013年12月14日是Day = 12 Month = 14 Year = 2013因此无效。< / p>

使用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);