我有一个 sqlCE 字段 A,类型为文本,它保存以下格式的日期字符串:
31/12/2011 11:29:09
另外,我有一个 sqlCE 字段 B,类型为文本,它包含以下格式的日期字符串:
04/04/2011 10:12:01
今天我电脑上的日期是:19/01/09 21:54:28
如何检查今天的日期是否在日期 A 和日期 B 之间,并且具有任何区域或日期类型?
提前致谢。
最佳答案
如果您的数据库字段的类型为 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);
关于您在问题中提到的“具有任何区域或日期类型”:这就是 ParseExact 的第二个和第三个参数的含义:在那里,您可以指定文本值的格式数据库有。 (有关更多详细信息,请参阅 the documentation of DateTime.ParseExact。)请注意,您确实需要指定格式:否则,该函数将无法判断 03/04/2010
是三月四号还是四月三号。
之后,您可以使用常规日期比较操作(例如 if (datetime1 <= datetime2) { ... }
)来检查日期是否在所需的时间范围内。
关于c# - 确定日期是否在 sqlCE 中的 2 个日期之内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6407650/