formatDateTime static method

String formatDateTime(
  1. int mills, {
  2. bool mmDDhhMM = false,
  3. bool yyMMdd = false,
  4. bool hhmmss = false,
})

格式化显示时间

Implementation

static String formatDateTime(int mills, {bool mmDDhhMM = false, bool yyMMdd = false, bool hhmmss = false}) {
  if (mmDDhhMM) {
    final date = DateTime.fromMillisecondsSinceEpoch(mills);
    return '${date.month.toString().padLeft(2, '0')}-${date.day.toString().padLeft(2, '0')} ${date.hour.toString().padLeft(2, '0')}:${date.minute.toString().padLeft(2, '0')}';
  } else if (yyMMdd && hhmmss) {
    final date = DateTime.fromMillisecondsSinceEpoch(mills);
    return '${date.year}-${date.month.toString().padLeft(2, '0')}-${date.day.toString().padLeft(2, '0')} ${date.hour.toString().padLeft(2, '0')}:${date.minute.toString().padLeft(2, '0')}:${date.second.toString().padLeft(2, '0')}';
  } else if (yyMMdd) {
    final date = DateTime.fromMillisecondsSinceEpoch(mills);
    return '${date.year}-${date.month.toString().padLeft(2, '0')}-${date.day.toString().padLeft(2, '0')}';
  } else if (hhmmss) {
    final date = DateTime.fromMillisecondsSinceEpoch(mills);
    return '${date.hour.toString().padLeft(2, '0')}:${date.minute.toString().padLeft(2, '0')}:${date.second.toString().padLeft(2, '0')}';
  } else {
    final now = DateTime.now();
    final today = DateTime(now.year, now.month, now.day, 23, 59, 59, 999); //今天的结束时间点
    final date = DateTime.fromMillisecondsSinceEpoch(mills);
    final abs = today.difference(date);
    if (abs.inDays == 0) {
      return '${date.hour.toString().padLeft(2, '0')}:${date.minute.toString().padLeft(2, '0')}:${date.second.toString().padLeft(2, '0')}';
    } else if (abs.inDays == 1) {
      return '昨天 ${date.hour.toString().padLeft(2, '0')}:${date.minute.toString().padLeft(2, '0')}';
    } else {
      return '${date.year}-${date.month.toString().padLeft(2, '0')}-${date.day.toString().padLeft(2, '0')}';
    }
  }
}