together_mobile/lib/utils/format_datetime.dart

81 lines
2.2 KiB
Dart

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';
}
}