比较代表日期的整数

Comparing integers that represent a date

我很难确定一个日期是否在另一个日期的 30 天内。使这变得棘手的是日期由整数表示。所以如果我有:

int year = 1990; int month = 1; int day = 1;

如果我将其与以下内容进行比较,我如何正确 return 为真:

int year = 1989; int month = 12; int day = 31

目前我正在使用 DateTime.DaysInMonth(year, month) 但不确定如何在比较中应用它。

我会构造两个 DateTime 对象并减去它们:

int year1 = 1990; 
int month1 = 1; 
int day1 = 1;
DateTime dt1 = new DateTime(year1, month1, day1);

int year2 = 1989; 
int month2 = 12; 
int day2 = 31;
DateTime dt2 = new DateTime(year2, month2, day2);

if ((dt2 - dt1).TotalDays <= 30) {
    Console.WriteLine("Dates are within 30 days of each other");
}