C#如何检查当前字符串的日期是否为今天?

我有一个名为’String(Generalized-Time)’的格式的日期,请参阅此处链接的MSDN ,我需要检查此日期是否为今天以及是否为X.

为了使这个稍微复杂一点,我在这个例子中有一个int 4,如果int是4那么我想检查’String(Generalized-Time)’格式的日期是否在过去的4天内,int也许是7,24,30等

我怎么写这个? 我是新手,非常感谢你的帮助。

谢谢

像这样:

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; } 
 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! }