.NET Fiddle

CSharp · Console

/Program.cs

using System;
using System.Collections.Generic;

public class Program
{
    static bool IsBetween(DateTime toCheck, DateTime min, DateTime max)
    {
        string d = toCheck.ToString("MMdd");
        string x = min.ToString("MMdd");
        string y = max.ToString("MMdd");
        return string.Compare(x, y) <= 0
        	? string.Compare(d, x) >= 0 && string.Compare(d, y) <= 0
        	: string.Compare(d, x) >= 0 || string.Compare(d, y) <= 0;
    }
	public static void Main()
	{
        List<(DateTime min, DateTime max, DateTime toCheck)> tests = new()
        {
            // Feb to Jul
            (new DateTime(2024, 2, 1), new DateTime(2024, 7, 31), new DateTime(1900, 1, 31)),
            (new DateTime(2024, 2, 1), new DateTime(2024, 7, 31), new DateTime(1900, 2, 1)),
            (new DateTime(2024, 2, 1), new DateTime(2024, 7, 31), new DateTime(1900, 7, 31)),
            (new DateTime(2024, 2, 1), new DateTime(2024, 7, 31), new DateTime(1900, 8, 1)), 

            // Aug to Jan
            (new DateTime(2024, 8, 1), new DateTime(2025, 1, 31), new DateTime(1900, 7, 31)),
            (new DateTime(2024, 8, 1), new DateTime(2025, 1, 31), new DateTime(1900, 8, 1)),
            (new DateTime(2024, 8, 1), new DateTime(2025, 1, 31), new DateTime(1900, 1, 31)),
            (new DateTime(2024, 8, 1), new DateTime(2025, 1, 31), new DateTime(1900, 2, 1)),
        };
        foreach (var test in tests)
        {
            Console.WriteLine(
                "{0:yyyy-MM-dd} is between {1:yyyy-MM-dd} and {2:yyyy-MM-dd} => {3}",
                test.toCheck,
                test.min,
                test.max,
                IsBetween(test.toCheck, test.min, test.max)
            );
        }
	}
}
;