초기 커밋
This commit is contained in:
44
lib/core/utils/date_utils.dart
Normal file
44
lib/core/utils/date_utils.dart
Normal file
@@ -0,0 +1,44 @@
|
||||
import 'package:intl/intl.dart';
|
||||
|
||||
abstract final class AppDateUtils {
|
||||
static final _dateFormat = DateFormat('yyyy-MM-dd');
|
||||
static final _dateTimeFormat = DateFormat('yyyy-MM-dd HH:mm:ss');
|
||||
static final _timeFormat = DateFormat('HH:mm');
|
||||
static final _koreanDateFormat = DateFormat('yyyy년 MM월 dd일');
|
||||
|
||||
static String formatDate(DateTime date) => _dateFormat.format(date);
|
||||
|
||||
static String formatDateTime(DateTime date) => _dateTimeFormat.format(date);
|
||||
|
||||
static String formatTime(DateTime date) => _timeFormat.format(date);
|
||||
|
||||
static String formatKoreanDate(DateTime date) => _koreanDateFormat.format(date);
|
||||
|
||||
static DateTime? tryParse(String? dateString) {
|
||||
if (dateString == null) return null;
|
||||
try {
|
||||
return DateTime.parse(dateString);
|
||||
} catch (_) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
static String timeAgo(DateTime date) {
|
||||
final now = DateTime.now();
|
||||
final diff = now.difference(date);
|
||||
|
||||
if (diff.inDays > 365) {
|
||||
return '${diff.inDays ~/ 365}년 전';
|
||||
} else if (diff.inDays > 30) {
|
||||
return '${diff.inDays ~/ 30}개월 전';
|
||||
} else if (diff.inDays > 0) {
|
||||
return '${diff.inDays}일 전';
|
||||
} else if (diff.inHours > 0) {
|
||||
return '${diff.inHours}시간 전';
|
||||
} else if (diff.inMinutes > 0) {
|
||||
return '${diff.inMinutes}분 전';
|
||||
} else {
|
||||
return '방금 전';
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user