如何在C#中验证日期

本文关键字:验证 日期 | 更新日期: 2023-09-27 18:21:33

我想使用两(2)个日期选择器在给定日期之间的2个月内验证日期

示例:DATEPICKERdatefrom=2013年5月2日和DATEPICKEDDateto=2013年8月3日(dd/mm/yyyy)

我的声明应该是什么

if ( /*DATEPICKERdatefrom between DATEPICKERdateto is not between 2 months*/ )
{
messagebox.show("the Date must within 2 months")
}
else
{
//GO
}

如何在C#中验证日期

这里有一个如何偏移日期的示例。

DateTime twoMonthsBack = DateTime.Now.AddMonths(-2);
DateTime twoMonthsLater = DateTime.Now.AddMonths(2);

您可以将示例中的DateTime.Now替换为您的日期。并且您可以选择对其进行验证。

也许

if(DATEPICKERdateto > DATEPICKERdatefrom.AddMonths(2))
{
    //to date is more than two months from start date
    messagebox.show("the Date must within 2 months");
}
else
{
    //GO
}

上面的例子是基于这样一个假设,即从日期开始总是小于截止日期。

如果这些值是DateTime,则可以简单地使用<>运算符进行比较。

if((date > DATEPICKERdatefrom) && (date < DATEPICKERdateto))

这些运算符被DateTime重载为;

[TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
public static bool operator < (DateTime t1, DateTime t2) {
        return t1.InternalTicks < t2.InternalTicks;
}

[TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
public static bool operator > (DateTime t1, DateTime t2) {
        return t1.InternalTicks > t2.InternalTicks;
}