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