马良AI写作初始化仓库

This commit is contained in:
邓滨杰
2025-09-10 00:07:52 +08:00
parent 3c06bb1a03
commit 39c0f8840f
1309 changed files with 318528 additions and 0 deletions

View File

@@ -0,0 +1,70 @@
import 'package:intl/intl.dart';
class DateFormatter {
// 格式化为相对时间昨天、2小时前等
static String formatRelative(DateTime date) {
final now = DateTime.now();
final difference = now.difference(date);
if (difference.inSeconds < 60) {
return '刚刚';
} else if (difference.inMinutes < 60) {
return '${difference.inMinutes}分钟前';
} else if (difference.inHours < 24) {
return '${difference.inHours}小时前';
} else if (difference.inDays < 7) {
return '${difference.inDays}天前';
} else if (date.year == now.year) {
return DateFormat('MM月dd日').format(date);
} else {
return DateFormat('yyyy年MM月dd日').format(date);
}
}
// 格式化为月份字符串(用于分组显示)
static String formatMonth(DateTime date) {
final now = DateTime.now();
if (date.year == now.year && date.month == now.month) {
return '本月';
} else if (date.year == now.year && date.month == now.month - 1) {
return '上个月';
} else if (date.year == now.year) {
return DateFormat('MM月').format(date);
} else {
return DateFormat('yyyy年MM月').format(date);
}
}
// 格式化为完整日期时间
static String formatFull(DateTime date) {
return DateFormat('yyyy年MM月dd日 HH:mm').format(date);
}
static String formatDate(DateTime date) {
final months = ['January', 'February', 'March', 'April', 'May', 'June',
'July', 'August', 'September', 'October', 'November', 'December'];
final day = date.day;
final month = months[date.month - 1];
final year = date.year;
final hour = date.hour;
final minute = date.minute.toString().padLeft(2, '0');
final period = hour >= 12 ? 'PM' : 'AM';
final hour12 = hour > 12 ? hour - 12 : (hour == 0 ? 12 : hour);
return '$month ${_getOrdinal(day)}, $year at $hour12:$minute $period';
}
static String _getOrdinal(int day) {
if (day >= 11 && day <= 13) {
return '${day}th';
}
switch (day % 10) {
case 1: return '${day}st';
case 2: return '${day}nd';
case 3: return '${day}rd';
default: return '${day}th';
}
}
}