Files
oott/frontend/lib/utils/friendly_date_formatter.dart
T

29 lines
880 B
Dart
Raw Normal View History

2026-02-11 14:07:27 -05:00
import 'package:intl/intl.dart';
class FriendlyDateFormatter {
FriendlyDateFormatter();
String format(DateTime dateTime) {
DateTime now = DateTime.now();
Duration timeSince = now.difference(dateTime);
DateTime today = DateTime(now.year, now.month, now.day);
DateTime yesterday = DateTime(now.year, now.month, now.day - 1);
DateTime dateTimeWithoutTime = DateTime(
dateTime.year,
dateTime.month,
dateTime.day,
);
if (timeSince.inMinutes <= 2) return 'Just now';
2026-02-11 14:07:27 -05:00
if (timeSince.inMinutes < 60) return '${timeSince.inMinutes} minutes ago';
if (dateTimeWithoutTime == today) {
2026-02-11 14:07:27 -05:00
return 'Today at ${DateFormat.Hm().format(dateTime)}';
}
if (dateTimeWithoutTime == yesterday) {
2026-02-11 14:07:27 -05:00
return 'Yesterday at ${DateFormat.Hm().format(dateTime)}';
}
2026-02-11 14:07:27 -05:00
return DateFormat.yMMMMd().add_Hm().format(dateTime);
}
}