formatStringDateTime method
Implementation
String formatStringDateTime({required String pattern, String format= 'd MMMM, yyyy', String locale= 'fr'}){
DateTime dateTimeFromString = DateFormat(pattern).parse(this);
int seconds = dateTimeFromString.difference(DateTime.now()).inSeconds;
int hours = dateTimeFromString.difference(DateTime.now()).inHours;
if (seconds < 60) {
return '$seconds ${locale.contains('fr')? 'secondes' : 'second'}';
} else if (seconds >= 60 && seconds < 3600) {
return '${DateTime.now().difference(dateTimeFromString).inMinutes.abs()} minutes';
} else if (hours >= 1 && hours < 2) {
return '${DateTime.now().difference(dateTimeFromString).inHours.abs()} ${locale.contains('fr')? 'hour' : 'heure'}';
} else if (hours >= 2 && hours < 12) {
return DateFormat('HH:mm','fr').format(dateTimeFromString);
} else {
return DateFormat(format, locale).format(dateTimeFromString);
}
}