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

Posted

技术标签:

【中文标题】确定日期是不是在 sqlCE 中的 2 个日期内【英文标题】:Determine if a date is within 2 dates in sqlCE确定日期是否在 sqlCE 中的 2 个日期内 【发布时间】:2011-06-20 06:40:05 【问题描述】:

我有一个 sqlCE 字段 A,键入文本,其中包含以下格式的日期字符串:

31/12/2011 11:29:09

另外,我有一个 sqlCE 字段 B,键入文本,它包含这种格式的日期字符串:

04/04/2011 10:12:01

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

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

提前致谢。

【问题讨论】:

【参考方案1】:

如果您的数据库字段是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) ... )来检查日期是否在所需的时间范围内。

【讨论】:

以上是关于确定日期是不是在 sqlCE 中的 2 个日期内的主要内容,如果未能解决你的问题,请参考以下文章

SQL函数检查日期是不是在另一个表的2个日期之间

如何确定给定日期是不是在 .NET 2.0 中给定时区的夏令时?

检查日期是不是在 sql 中的日期范围之间(不检查年份)

这个 SQLCe 查询有啥问题?

Python:如何检查日期是不是不明确?

在 SQL CE 4.0 中将 nvarchar(50) 列转换为日期时间