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

标签 c# sql visual-studio

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

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

谁能帮我跨过这个障碍?

最佳答案

您报告的问题是由于文化差异造成的。您使用的是美国格式的日期,当前的文化设置为英国或类似的,因此它认为您使用的是日/月/年,这使得 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);

关于c# - 如何将从数据库检索的 smalldatetime 转换回 smalldatetime 以重新发布到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14732087/

相关文章:

c# - 在 datagridview 中绑定(bind)组合框中的值时出现问题

c# - 是 CA1001 : TypesThatOwnDisposableFieldsShouldBeDisposable Valid?

mysql - SQL:用同一请求中的其他选择完成我的选择

windows - 在 if 语句中使用多个操作时遇到问题

c++ - 如何创建 Visual Studio 2008 C++ 项目模板?

c# - 关于 c# struct 内存/序列化开销

c# - 异常 : Incorrect syntax near the keyword 'AND'

python - 容差地从数据库中获取每n小时的数据

sql - 使用 PIVOT 将 SQL Server 中的 200 多行转换为列

c++ - 如何用C++编写控制台终端