يمكنك إستعمال الدوال isAfter, isBefore, isAtSameMomentAs المرتبطة بالنوع DateTime لمقارنة الوقت و ترجع كل من هذا الدوال true أو false وكما يلي
snapshot.data[index]['LastDate'].isAfter(DateFormat('dd-MM-yyy').format(DateTime.now()))
snapshot.data[index]['LastDate'].isBefore(DateFormat('dd-MM-yyy').format(DateTime.now()))
snapshot.data[index]['LastDate'].isAtSameMomentAs(DateFormat('dd-MM-yyy').format(DateTime.now()))
//compareTo كما يمكنك إستخدام
// لكن هذه الدالة ترجع لك 1 أو 0 أو -1 بنفس الدلالة السابقة
snapshot.data[index]['LastDate'].compareTo(DateFormat('dd-MM-yyy').format(DateTime.now()))
// DateTime لاحظ أننا نقارن النوع
//String إذا الوقت لديك من النوع
//كما يلي DateTime يمكنك تحويله الى
dt= DateTime.parse('2020-01-02T07:12:50+07:00') // مثال
// ثم تجري المقارنة كما سبق
الحل المطروح هنا يحل الإشكالية الموجودة في المثال في سؤالك أي المقارنة بين قيم الوقت كما يفهم من الكود الذي تطرحه. إذا كنت تريد مقارنة قيم أخرى فلا بد من تحديد نوع هذه القيم لتحديد طريق المقارنة ذات العلاقة.