private static readonly Func<DateTime, int> DaysInTheMonth =
x => DateTime.DaysInMonth(x.Year, x.Month);
private static readonly Func<DateTime, DateTime, int> DaysBetween =
(end, start) => (end.AddDays(1) - start).Days;
private static readonly Func<DateTime, DateTime, bool> HasItBeen30Days =
(end, start) => DaysBetween(end, start) >= DaysInTheMonth(start);
public static void Main()
var sdt = new DateTime(2024, 2, 1);
var edt = new DateTime(2024, 2, 29);
var daysBetween = DaysBetween(edt,sdt);
var hasItBeen = HasItBeen30Days(edt, sdt);
Console.WriteLine($"Days between = {daysBetween}");
Console.WriteLine($"Has it been 30 days = {hasItBeen}");