我有一个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之间,是否有任何地区或日期类型?
提前致谢。
答案 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) { ... }
)来检查日期是否在所需的时间范围内。