millStr static method

String millStr(
  1. int timestampMillis
)

Implementation

static String millStr(int timestampMillis) {
  final DateTime now = DateTime.now();
  final DateTime date = DateTime.fromMillisecondsSinceEpoch(timestampMillis);
  final Duration diff = now.difference(date);

  final DateFormat timeFormat = DateFormat('HH:mm');
  final DateFormat dayFormat = DateFormat('EEEE');
  final DateFormat dateFormat = DateFormat('MMM d');
  final DateFormat yearFormat = DateFormat('yyyy-MM-dd');

  if (diff.inDays < 1 && now.day == date.day) {
    return timeFormat.format(date); // 今天
  } else if (diff.inDays < 2 && now.day - date.day == 1) {
    return 'Yesterday'; // 昨天
  } else if (diff.inDays < 7) {
    return dayFormat.format(date); // 本周
  } else if (now.year == date.year) {
    return dateFormat.format(date); // 当年
  } else {
    return yearFormat.format(date); // 超过一年
  }
}