Files

31 lines
1.1 KiB
Dart
Raw Permalink Normal View History

import 'package:flutter/widgets.dart';
import '../../l10n/app_localizations.dart';
String formatRelativeTime(BuildContext context, DateTime dateTime) {
final l10n = AppLocalizations.of(context)!;
final diff = DateTime.now().difference(dateTime);
if (diff.inMinutes < 1) return l10n.timeJustNow;
if (diff.inHours < 1) return l10n.timeMinutesAgo(diff.inMinutes);
if (diff.inDays < 1) return l10n.timeHoursAgo(diff.inHours);
if (diff.inDays < 30) return l10n.timeDaysAgo(diff.inDays);
return '${dateTime.month}/${dateTime.day}';
}
String formatCompactLocalDateTime(String isoString) {
final dateTime = DateTime.parse(isoString).toLocal();
final now = DateTime.now();
final timeText =
'${dateTime.hour.toString().padLeft(2, '0')}:${dateTime.minute.toString().padLeft(2, '0')}';
if (now.year == dateTime.year &&
now.month == dateTime.month &&
now.day == dateTime.day) {
return timeText;
}
final dateText =
'${dateTime.year}-${dateTime.month.toString().padLeft(2, '0')}-${dateTime.day.toString().padLeft(2, '0')}';
return '$dateText $timeText';
}