Implementation
static DateTimeFormat baseTime(DateTime time) {
final date = DateFormat(dateFormat).format(time);
final time02 = DateTime(time.year, time.month, time.day, 2, 10, 0, 0, 0);
final time05 = DateTime(time.year, time.month, time.day, 5, 10, 0, 0, 0);
final time08 = DateTime(time.year, time.month, time.day, 8, 10, 0, 0, 0);
final time11 = DateTime(time.year, time.month, time.day, 11, 10, 0, 0, 0);
final time14 = DateTime(time.year, time.month, time.day, 14, 10, 0, 0, 0);
final time17 = DateTime(time.year, time.month, time.day, 17, 10, 0, 0, 0);
final time20 = DateTime(time.year, time.month, time.day, 20, 10, 0, 0, 0);
final time23 = DateTime(time.year, time.month, time.day, 23, 10, 0, 0, 0);
if (!time.difference(time23).isNegative) {
return DateTimeFormat(date, "2300");
} else if (!time.difference(time20).isNegative) {
return DateTimeFormat(date, "2000");
} else if (!time.difference(time17).isNegative) {
return DateTimeFormat(date, "1700");
} else if (!time.difference(time14).isNegative) {
return DateTimeFormat(date, "1400");
} else if (!time.difference(time11).isNegative) {
return DateTimeFormat(date, "1100");
} else if (!time.difference(time08).isNegative) {
return DateTimeFormat(date, "0800");
} else if (!time.difference(time05).isNegative) {
return DateTimeFormat(date, "0500");
} else if (!time.difference(time02).isNegative) {
return DateTimeFormat(date, "0200");
} else {
final yesterday = DateFormat(dateFormat).format(time.subtract(Duration(days: 1)));
return DateTimeFormat(yesterday, "2300");
}
}