我的日期格式为“字符串(广义时间)”,请参阅MSDN linked here,我需要检查此日期是否为今天以及是否为X.
为了使这个稍微复杂化,我在这个例子4中有一个int,如果int是4那么我想检查过去4天中'String(Generalized-Time)'格式的日期是否是,int可能是7,24,30等。
我怎么写这个?我是新手,非常感谢你的帮助。
由于
答案 0 :(得分:33)
像这样:
DateTime dt;
if (DateTime.TryParse(stringValue, out dt) &&
dt.Date == DateTime.Today)
{
// do some stuff
}
要检查它是否在过去四天内的任何时间,
DateTime dt;
if (DateTime.TryParse(stringValue, out dt) &&
dt.Date > DateTime.Today.AddDays(-4f) &&
dt < DateTime.Now)
{
// do some stuff
}
或作为扩展方法
public static bool WithinPreviousPeriod(this DateTime dt, int daysBack)
{
return dt.Date > DateTime.Today.AddDays(-daysBack))
&& dt < DateTime.Now;
}
答案 1 :(得分:6)
if(DateTime.Parse(yourString).Date == DateTime.Now.Date )
{
//do something
}
应该看看今天是否是今天。但是这缺少错误检查(它假定yourString是一个有效的日期时间字符串)。
要做更复杂的检查,你可以这样做:
DateTime date = DateTime.Parse(yourString);
int dateOffset = 4;
if(date.Date >= DateTime.Now.AddDays(-dateOffset).Date)
{
//this date is within the range!
}