I have a DateInterval object that might begin in the InfinitePast and I want to test to see if this is the case. When you construct such a DateInterval it will have it's granularity updated to match the smallest granularity of the other end point. So for example DateInterval[{InfinitePast,Today}]["Min"] will give a DateObject with a year of -Infinity but it will also have day and month fields and a Day level granularity.
I first tried using DateOverlapsQ but that didn't work.
I also tried extracting the Year value to test to see if it's -Infinity but it seems to give an error (it used to work in 12.1, now under 12.2 it seems like it tests to see that the Year is an integer.)
I also tried to manually change the granularity of infinite past to match the interval granularity, but it seems like this doesn't work as, for example, DateObject[InfinitePast,"Day"] just keeps the same granularity of Eternity. This suggests that the granularity change on InfinitePast in the Min of the DateInterval is perhaps a bug? Maybe it should just return the regular InifnitePast DateObject, and then I could easily test it using regular equality.