I'm still wondering about the previous question.
http://wiki.squeak.org/squeak/5722 lists Date but not DateAndTime as explicitly supported Magnitudes; presumably both qualify under "any class that inherits from Object with only named instance variables."
That is not an exhaustive list. DateAndTimes are supported.
http://wiki.squeak.org/squeak/2639 says "There are also an [sic] index types for Dates, DateAndTimes, UUID's, Integers, and more." Dates are now TimeSpans, though perhaps they were not when the page was written.
There are at least two scenarios where the width of the item being indexed could be problematic. Suppose the index is on intervals that are TimeSpans. For simplicity, I'll assume everthing is on the same day. Suppose one has a collection indexed on the TimeSpan with object a having TimeSpan from 1 to 2 am. If you ask for values at DateAndTime 1:30am, do you get a back? Do you get an error about the query having the wrong type?
Alternately, suppose you ask for values at a TimeSpan from 1:30-2:30am. What happens?
Magma does not include a generic Timespan index, the DateIndex is just for objects with a Duration of 1 day, so testing equality or greater or less than on an exact Date just works. DateAndTime is not a Timespan.
Depending on your application requirements, you may be able to employ two DateAndTime indexes; #startTime and #endTime. Your app could then query
where: [ : each | (each startTime > someTime) & (each endTime <= someTime) ]
If that won't work you may need to make your own subclass of MagmaCollectionIndex..