当前位置: 首页 > 编程语言 > C#

如何检查日期是否小于或等于今天的日期?分享

时间:2023-04-10 15:55:56 C#

如何判断一个日期是否小于或等于今天的日期?我需要确定用户输入的日期是否小于或等于今天的日期。我有以下代码将日期转换为int,然后比较它们的值。有没有更有效或更精简的方法来用更少的代码行来做到这一点?我怎样才能用更少的代码或额外的代码来做到这一点?代码:classProgram{publicstaticboolIsDateBeforeOrToday(stringinput){boolresult=true;如果(输入!=null){DateTimedTCurrent=DateTime.Now;intcurrentDateValues=Convert.ToInt32(dTCurrent.ToString("MMddyyyy"));intinputDateValues=Convert.ToInt32(input.Replace("/",""));结果=inputDateValues<=currentDateValues;}else{结果=真;}返回结果;}staticvoidMain(string[]args){Console.WriteLine(IsDateBeforeOrToday("03/26/2015"));控制台.ReadKey();不是将当前日期转换为字符串,然后是int并进行比较,而是将参数日期字符串转换为DateTime对象,然后进行比较,如下所示:varparameterDate=DateTime.ParseExact("03/26/2015","MM/dd/yyyy",CultureInfo.InvariantCulture);vartodaysDate=DateTime.Today;if(parameterDate你可以把你的方法设置为:publicstaticboolIsDateBeforeOrToday(stringinput){DateTimepDate;if(!DateTime.TryParseExact(input,"MM/dd/yyyy",CultureInfo.InvariantCulture,DateTimeStyles.None,输出日期)){//无效日期//log,显示错误returnfalse;}returnDateTime.Today你可以使用TryParse的TryParseExact,无论解析是否成功,它都会返回bool在我的第一个实现中,我抛出异常,但它没用,因为如果失败,Parse或ParseExact会自动抛出它。所以有两种选择:Execute:classProgram{publicstaticboolIsDateBeforeOrToday(stringinput){DateTimeinputTime;varparseResult=DateTime.TryParse(input,inputTime);if(!parseResult)//如果解析失败,做一些有用的事情。返回inputTime您可以使用DateTime.Compare方法。你可以这样做:DateTimedTCurrent=DateTime.Now;DateTimeinputDate=DateTime.ParseExact(input,"MM/dd/yyyy",CultureInfo.InvariantCulture);intresult=DateTime.Compare(dTCurrent,inputDate);int'result'指示dTCurrent是否小于inputDate(小于0)、相同(0)或大于(大于0)。以上就是C#学习教程:如何判断日期是否小于等于今天?如果分享的所有内容对您有用,需要了解更多C#学习教程,希望您多多关注---本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: