from method
Implementation
String from(DateTime date, [bool withoutPrefixOrSuffix = false]) {
Duration diff = date.difference(_date);
String timeString = "";
final locale = usedLocale;
if (diff.inSeconds.abs() < 45)
timeString = locale.seconds.replaceFirst('%i', '${diff.inSeconds.abs()}');
else if (diff.inMinutes.abs() < 2)
timeString = locale.aMinute.replaceFirst('%i', '${diff.inMinutes.abs()}');
else if (diff.inMinutes.abs() < 45)
timeString = locale.minutes.replaceFirst('%i', '${diff.inMinutes.abs()}');
else if (diff.inHours.abs() < 2)
timeString = locale.anHour.replaceFirst('%i', '${diff.inHours.abs()}');
else if (diff.inHours.abs() < 22)
timeString = locale.hours.replaceFirst('%i', '${diff.inHours.abs()}');
else if (diff.inDays.abs() < 2)
timeString = locale.aDay.replaceFirst('%i', '${diff.inDays.abs()}');
else if (diff.inDays.abs() < 26)
timeString = locale.days.replaceFirst('%i', '${diff.inDays.abs()}');
else if (diff.inDays.abs() < 60)
timeString =
locale.aMonth.replaceFirst('%i', '${diff.inDays.abs() ~/ 30}');
else if (diff.inDays.abs() < 320)
timeString =
locale.months.replaceFirst('%i', '${diff.inDays.abs() ~/ 30}');
else if (diff.inDays.abs() < 547)
timeString =
locale.aYear.replaceFirst('%i', '${diff.inDays.abs() ~/ 356}');
else
timeString =
locale.years.replaceFirst('%i', '${diff.inDays.abs() ~/ 356}');
if (!withoutPrefixOrSuffix) {
if (diff.isNegative)
timeString = _addIdentifier(
timeString, locale.pastPosition, locale.pastIdentifier);
else
timeString = _addIdentifier(
timeString, locale.futurePosition, locale.futureIdentifier);
}
return timeString;
}