formatChannelTime static method
Implementation
static String formatChannelTime(
int? milliseconds, {
DateTime? now,
NexconnChatUILocalizations? l10n,
}) {
if (milliseconds == null || milliseconds <= 0) {
return '';
}
final date = DateTime.fromMillisecondsSinceEpoch(milliseconds);
final currentTime = now ?? DateTime.now();
if (date.year != currentTime.year) {
return _formatFullDate(date, l10n);
}
final dateOnly = DateTime(date.year, date.month, date.day);
final nowOnly = DateTime(
currentTime.year,
currentTime.month,
currentTime.day,
);
final differenceInDays = nowOnly.difference(dateOnly).inDays;
if (differenceInDays == 0) {
return '${date.hour}:${date.minute.toString().padLeft(2, '0')}';
}
if (differenceInDays == 1) {
return l10n?.commonYesterday ?? '昨天';
}
if (differenceInDays > 1 && differenceInDays < 7) {
return _localizedWeekday(date.weekday, l10n);
}
return _formatShortDate(date, l10n);
}