2

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

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

谁能帮我克服这个障碍?

4

1 回答 1

1

您报告的问题是由于文化差异造成的。您使用的是美国格式的日期,并且当前的文化设置为英国或类似的,因此它认为您使用的是日/月/年,这使得 12/14/2013 是 Day=12 Month=14 Year=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);
于 2013-02-06T15:05:44.233 回答