getTimeLeft static method
Implementation
static String getTimeLeft(
{required DateTime fromDateTime, required DateTime toDateTime}) {
// Duration diff = fromDateTime.difference(toDateTime);
Duration diff = toDateTime.difference(fromDateTime);
// Duration diff = DateTime.now().difference(d);
// customPrint('skldfjl ${fromDateTime}...\n${toDateTime}');
if (diff.inDays > 365)
return "${(diff.inDays / 365).floor()} ${(diff.inDays / 365).floor() == 1 ? "year" : "years"} left";
if (diff.inDays > 30)
return "${(diff.inDays / 30).floor()} ${(diff.inDays / 30).floor() == 1 ? "month" : "months"} left";
if (diff.inDays > 7)
return "${(diff.inDays / 7).floor()} ${(diff.inDays / 7).floor() == 1 ? "week" : "weeks"} left";
if (diff.inDays > 0)
return "${diff.inDays} ${diff.inDays == 1 ? "day" : "days"} left";
if (diff.inHours > 0)
return "${diff.inHours} ${diff.inHours == 1 ? "hour" : "hours"}${diff.inMinutes > 0 ? ', ${diff.inMinutes} ${diff.inMinutes == 1 ? "min" : "mins"}' : ''}${diff.inSeconds > 0 ? ', ${diff.inSeconds % 60} ${diff.inSeconds == 1 ? "sec" : "secs"}' : ''} left";
if (diff.inMinutes > 0)
return "${diff.inMinutes} ${diff.inMinutes == 1 ? "min" : "mins"}${diff.inSeconds > 0 ? ', ${diff.inSeconds % 60} ${diff.inSeconds == 1 ? "sec" : "secs"}' : ''} left";
if (diff.inSeconds > 3)
return "${diff.inSeconds} ${diff.inSeconds == 1 ? "sec" : "secs"} left";
if (diff.inSeconds < 0) {
return 'Uploading soon';
}
return "just now";
}