如何确定某个日期是否在C#中的日期范围内?

如何确定某个日期是否在C#中的日期范围内?,c#,datetime,C#,Datetime,如果输入的日期在1月和4月之间,我试图编写代码来执行特定的操作,但是我无法对这两个日期进行有效的比较。使用TryParse不会将我的字符串更改为适当的格式,如果没有某种形式的解析,就无法比较这两种类型。这就是我目前正在处理的问题: if (dtpCheckIn >= TryParse("1/1/2016") && dtpCheckIn < TryParse("5/1/2016") { //Do Something } if(dtpCheckIn>=TryPa

如果输入的日期在1月和4月之间,我试图编写代码来执行特定的操作,但是我无法对这两个日期进行有效的比较。使用TryParse不会将我的字符串更改为适当的格式,如果没有某种形式的解析,就无法比较这两种类型。这就是我目前正在处理的问题:

if (dtpCheckIn >= TryParse("1/1/2016") && dtpCheckIn < TryParse("5/1/2016")
{
    //Do Something
}
if(dtpCheckIn>=TryParse(“2016年1月1日”)和&dtpCheckIn
var startDate=新日期时间(2016,1,1);
var endDate=新的日期时间(2016,5,1);
var checkInIsValid=dtpCheckIn>=startDate&&dtpCheckIn
var startDate=新日期时间(2016,1,1);
var endDate=新的日期时间(2016,5,1);
var checkInIsValid=dtpCheckIn>=startDate&&dtpCheckIn
如果您没有自定义方法作为
TryParse
,则此方法属于
DateTime
结构,您可以将其用作。但即使您这样做,此方法也将字符串作为第一个参数,并作为第二个参数(通常使用该重载)。并返回
true
false
,因为您的字符串是否可以被解析。它不返回
DateTime

我假设您的
dtpCheckIn
已经是
DateTime
,您可以轻松地使用
=
操作符来比较其他
DateTime
实例

正确的语法可以是:

if (dtpCheckIn >= new DateTime(2016, 1, 1) && dtpCheckIn < new DateTime(2016, 5, 1))
{
}
if(dtpCheckIn>=新日期时间(2016,1,1)和&dtpCheckIn<新日期时间(2016,5,1))
{
}
看看


如果您没有自定义方法作为
TryParse
,则此方法属于
DateTime
结构,您可以将其用作。但即使您这样做,此方法也将字符串作为第一个参数,并作为第二个参数(通常使用该重载)。并返回
true
false
,因为您的字符串是否可以被解析。它不返回
DateTime

我假设您的
dtpCheckIn
已经是
DateTime
,您可以轻松地使用
=
操作符来比较其他
DateTime
实例

正确的语法可以是:

if (dtpCheckIn >= new DateTime(2016, 1, 1) && dtpCheckIn < new DateTime(2016, 5, 1))
{
}
if(dtpCheckIn>=新日期时间(2016,1,1)和&dtpCheckIn<新日期时间(2016,5,1))
{
}
看看


TryParse返回
true
false
值…您需要使用
out
关键字来获得解析的实际结果。DateTime可以轻松地与另一个DateTime进行比较。只需为您的测试用例构建两个DateTime。即new DateTime(2016,1,1)和new DateTime(2016,5,1)@Steve,事实上是真的。如果日期是预定义的,为什么还要解析呢?你是对的。为了更好地理解,请看下面@Soner的答案。TryParse返回
true
false
值…你需要使用
out
关键字来获得解析的实际结果。DateTime可以轻松地与另一个DateTime进行比较。只需创建为您的测试用例指定两个DateTime。即new DateTime(2016,1,1)和new DateTime(2016,5,1)@Steve,事实上是真的。如果日期是预定义的,那么为什么还要解析呢?您是对的。为了更好地理解,请查看下面的@Soner答案。