Files
sweet_chat_app/lib/utils/date_utils.dart
2026-06-19 21:10:03 +08:00

26 lines
654 B
Dart

import 'package:intl/intl.dart';
String formatChatTime(DateTime time) {
final now = DateTime.now();
final t = time.toLocal();
final today = DateTime(now.year, now.month, now.day);
final d = DateTime(t.year, t.month, t.day);
final diff = today.difference(d).inDays;
final hm = DateFormat('HH:mm').format(t);
if (diff == 0) return hm;
if (diff == 1) return '昨天 $hm';
// 本周
if (diff < 7 && d.weekday <= now.weekday) {
return '${DateFormat('EEEEE', 'zh_CN').format(t)} $hm';
}
if (t.year == now.year) {
return DateFormat('M月d日 HH:mm').format(t);
}
return DateFormat('yyyy年M月d日 HH:mm').format(t);
}