Equals is based on year, month, day.
@override bool operator ==(Object that) { if (that is! HTime) return false; HTime x = that; return hour == x.hour && min == x.min && sec == x.sec && ms == x.ms; }