Zero-padded toJson compares lexicographically == chronologically.
@override int compareTo(Date other) => toJson().compareTo(other.toJson());