String formatTileDateTime(DateTime dateTime) { DateTime now = DateTime.now(); var difference = now.difference(dateTime); if (difference.inDays < 1) { String hour = dateTime.hour < 10 ? '0${dateTime.hour}' : '${dateTime.hour}'; String minute = dateTime.minute < 10 ? '0${dateTime.minute}' : '${dateTime.minute}'; return '$hour:$minute'; } else if (difference.inDays == 1) { return '昨天'; } else if (difference.inDays <= 7) { switch (dateTime.weekday) { case 1: return '星期一'; case 2: return '星期二'; case 3: return '星期三'; case 4: return '星期四'; case 5: return '星期五'; case 6: return '星期六'; case 7: return '星期日'; } return ''; } else { int year = dateTime.year; String month = dateTime.month < 10 ? '0${dateTime.month}' : '${dateTime.month}'; String day = dateTime.day < 10 ? '0${dateTime.day}' : '${dateTime.day}'; return '$year-$month-$day'; } } String formatMessageDateTime(DateTime dateTime) { DateTime now = DateTime.now(); var difference = now.difference(dateTime); String hour = dateTime.hour < 10 ? '0${dateTime.hour}' : '${dateTime.hour}'; String minute = dateTime.minute < 10 ? '0${dateTime.minute}' : '${dateTime.minute}'; if (difference.inDays <= 1 && now.day - dateTime.day == 1) { return '昨天 $hour:$minute'; } else if (difference.inDays < 1) { return '$hour:$minute'; } else if (difference.inDays <= 7) { switch (dateTime.weekday) { case 1: return '星期一 $hour:$minute'; case 2: return '星期二 $hour:$minute'; case 3: return '星期三 $hour:$minute'; case 4: return '星期四 $hour:$minute'; case 5: return '星期五 $hour:$minute'; case 6: return '星期六 $hour:$minute'; case 7: return '星期日 $hour:$minute'; } return ''; } else { int year = dateTime.year; String month = dateTime.month < 10 ? '0${dateTime.month}' : '${dateTime.month}'; String day = dateTime.day < 10 ? '0${dateTime.day}' : '${dateTime.day}'; return '$year-$month-$day $hour:$minute'; } } String formatDirTime(DateTime dateTime) { int year = dateTime.year; String month = dateTime.month < 10 ? '0${dateTime.month}' : '${dateTime.month}'; String day = dateTime.day < 10 ? '0${dateTime.day}' : '${dateTime.day}'; return '$year$month$day'; } String formatMsgIDFromTime(DateTime dateTime) { int year = dateTime.year; String month = dateTime.month < 10 ? '0${dateTime.month}' : '${dateTime.month}'; String day = dateTime.day < 10 ? '0${dateTime.day}' : '${dateTime.day}'; String hour = dateTime.hour < 10 ? '0${dateTime.hour}' : '${dateTime.hour}'; String second = dateTime.second < 10 ? '0${dateTime.second}' : '${dateTime.second}'; String minute = dateTime.minute < 10 ? '0${dateTime.minute}' : '${dateTime.minute}'; String millisecond = dateTime.millisecond >= 100 ? '${dateTime.millisecond}' : dateTime.millisecond < 10 ? '0${dateTime.minute}' : '00${dateTime.minute}'; return '$year$month$day$hour$minute$second$millisecond'; }