주요 구현 완료 기능: - 구독 관리 (추가/편집/삭제/카테고리 분류) - 이벤트 할인 시스템 (기본값 자동 설정) - SMS 자동 스캔 및 구독 정보 추출 - 알림 시스템 (타임존 처리 안정화) - 환율 변환 지원 (KRW/USD) - 반응형 UI 및 애니메이션 - 다국어 지원 (한국어/영어) 버그 수정: - NotificationService tz.local 초기화 오류 해결 - MainScreenSummaryCard 레이아웃 오버플로우 수정 - 구독 추가 시 LateInitializationError 완전 해결 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
38 lines
1.0 KiB
Dart
38 lines
1.0 KiB
Dart
import 'package:intl/intl.dart';
|
|
|
|
/// 숫자와 날짜를 포맷팅하는 유틸리티 클래스
|
|
class FormatHelper {
|
|
/// 통화 형식으로 숫자 포맷팅
|
|
static String formatCurrency(double value) {
|
|
return NumberFormat.currency(
|
|
locale: 'ko_KR',
|
|
symbol: '',
|
|
decimalDigits: 0,
|
|
).format(value);
|
|
}
|
|
|
|
/// 날짜를 yyyy년 MM월 dd일 형식으로 포맷팅
|
|
static String formatDate(DateTime date) {
|
|
return '${date.year}년 ${date.month}월 ${date.day}일';
|
|
}
|
|
|
|
/// 날짜를 MM.dd 형식으로 포맷팅 (짧은 형식)
|
|
static String formatShortDate(DateTime date) {
|
|
return '${date.month}.${date.day}';
|
|
}
|
|
|
|
/// 현재 날짜로부터 남은 일 수 계산
|
|
static String getRemainingDays(DateTime date) {
|
|
final now = DateTime.now();
|
|
final difference = date.difference(now).inDays;
|
|
|
|
if (difference < 0) {
|
|
return '${-difference}일 지남';
|
|
} else if (difference == 0) {
|
|
return '오늘';
|
|
} else {
|
|
return '$difference일 후';
|
|
}
|
|
}
|
|
}
|