确定日期是否在sqlCE中的2个日期内

时间:2011-06-20 06:40:05

标签: c# winforms sql-server-ce

我有一个sqlCE字段A,类型为text,它以这种格式保存日期字符串:

31/12/2011 11:29:09

另外,我有一个sqlCE字段B,类型为text,它以这种格式保存日期字符串:

04/04/2011 10:12:01

今天在我的电脑上的日期是:19/01/09 21:54:28

我如何检查今天的日期是在日期A和日期B之间,是否有任何地区或日期类型?

提前致谢。

1 个答案:

答案 0 :(得分:3)

如果您的数据库字段的类型为text,那么您首先需要文本值解析为(真正的)日期时间值。推荐的功能是DateTime.ParseExact。例如:

string myString = ...; // the value you read from the database
DateTime myDateTime = DateTime.ParseExact(myString, "dd/MM/yyyy HH:mm:ss", 
                                          CultureInfo.InvariantCulture);

关于你在问题中提到的“ with any region or date type ”:这就是ParseExact的第二个和第三个参数:在那里,你可以指定文本值的格式数据库有。 (有关详细信息,请参阅the documentation of DateTime.ParseExact。)请注意,您执行需要指定格式:否则,该函数无法判断03/04/2010是否是第四个3月或3月3日。

之后,您可以使用常规日期比较操作(例如if (datetime1 <= datetime2) { ... })来检查日期是否在所需的时间范围内。