together_mobile/lib/utils/format_datetime.dart

109 lines
3.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';
}
}
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';
}