public static void Main()
var ApplicationEffectiveDate = Convert.ToDateTime("2022-10-10");
var ApplicationExpiryDate = ApplicationEffectiveDate.AddDays(15);
var BirthDate = Convert.ToDateTime("1992-10-11");
var CurrentBirthday = default(DateTime);
if (IsBirthdayInRange(BirthDate, ApplicationEffectiveDate, ApplicationExpiryDate, out CurrentBirthday))
ApplicationExpiryDate = CurrentBirthday;
Console.WriteLine(ApplicationExpiryDate.ToString("yyyy-MM-dd"));
public static bool IsBirthdayInRange(DateTime Birthday, DateTime Start, DateTime End, out DateTime CurrentBirthday)
CurrentBirthday = Birthday.AddYears(Start.Year - Birthday.Year);
if (CurrentBirthday < Start)
CurrentBirthday = CurrentBirthday.AddYears(1);
return Birthday <= End && CurrentBirthday > Start && CurrentBirthday <= End;