我应该使用什么数据类型变量来存储时间,以便我可以在我的数据库中加载它

时间:2015-09-30 18:32:25

标签: c# sql-server visual-studio-2013

我有一个SQL数据库,我必须在记录中存储日期和时间。我正在Visual Studio上创建一个项目,我正在使用2个日期时间选择器控件来分别提示日期和时间。

我想知道应该使用哪种变量(或类)来存储时间和日期,以便将其存储在数据库中的单个日期时间记录中。

2 个答案:

答案 0 :(得分:1)

C#具有DateTime类型和TimeSpan。 TimeSpan并不总是最佳选择,在许多情况下,只使用DateTime并忽略日期部分会更好。

C#中的DateTime类有一个.Date用于提取日期组件,而.Time用于Time部分(返回TimeSpan类)

在SQL中,您可以使用DATE和TIME或DATETIME。

您可以将C#DateTime保存到DATE,TIME或DATETIME(丢失您不需要的部分)

总之,我建议使用日期的C#DateTime和时间的TimeSpan。并将它们保存为SQL作为DATE和TIME。但是你需要小心使用TimeSpan,因为TimeSpan与SQL的TIME不是100%可比。 C#中的TimeSpan可以使用一天以上,但SQL中的TIME时间只能是一个24小时。

最后,如果您已经选择在SQL中使用DATETIME,那么为什么不在C#中使用DateTime,您可以将从UI获得的日期和时间合并到一个DateTime中,并将其保存在SQL DATETIME中。

答案 1 :(得分:-1)

试试这个:

DateTime myDateTime = DateTime.Now;
string sqlFormattedDate = myDateTime.ToString("yyyy-MM-dd HH:mm:ss");

或了解更多详情:Similar StackOverFlow Question有一个非常好的解决方案或Click here来获得此问题的所有解决方案