getTimeForMessage method

String getTimeForMessage(
  1. int timeStamp
)

Implementation

String getTimeForMessage(int timeStamp) {
  var nowTime = DateTime.now();
  nowTime = DateTime(nowTime.year, nowTime.month, nowTime.day);
  var ftime = DateTime.fromMillisecondsSinceEpoch(timeStamp * 1000);
  // var preFix = ftime.hour >= 12 ? TIM_t("下午") : TIM_t("上午");
  final timeStr = DateFormat('HH:mm').format(ftime); // Use 'HH:mm' for 24-hour format
  // 一年外 年月日 + 时间 (24小时制)
  if (nowTime.year != ftime.year) {
    return '${DateFormat('yyyy-MM-dd').format(ftime)} $timeStr';
  }
  // 一年内一周外 月日 + 时间 (24小时制)
  if (ftime.isBefore(nowTime.subtract(const Duration(days: 6)))) {
    return '${DateFormat('MM-dd').format(ftime)} $timeStr';
  }
  // 一周内一天外 星期 + 时间 (24小时制)
  if (ftime.isBefore(nowTime.subtract(const Duration(days: 1)))) {
    return '${weekdayMap()[ftime.weekday]} $timeStr';
  }
  // 昨日 昨天 + 时间 (24小时制)
  if (nowTime.day != ftime.day) {
    String option2 = timeStr;
    return TIM_t_para("昨天 {{option2}}", "昨天 $option2")(option2: option2);
  }
  // 同年月日 时间 (24小时制)
  return timeStr;
}