我有一个SQL数据库,我必须在记录中存储日期和时间。我正在Visual Studio上创建一个项目,我正在使用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来获得此问题的所有解决方案