Simply use the methods isAfter(), isBefore() or isAtSameMomentAs() from DateTime.
Other alternative, use compareTo(DateTime other), as in the docs:
Compares this DateTime object to [other],
returning zero if the values are equal.Returns a negative value if this DateTime [isBefore] [other]. It returns 0
if it [isAtSameMomentAs] [other], and returns a positive value otherwise
(when this [isAfter] [other]).
Here a code example of sorting dates:
void main() {
var list = [
DateTime.now().add(Duration(days: 3)),
DateTime.now().add(Duration(days: 2)),
DateTime.now(),
DateTime.now().subtract(Duration(days: 1))
];
list.sort((a, b) => a.compareTo(b));
print(list);
}
See it working here.