Files
penyaluran_app/lib/app/utils/date_formatter.dart
Khafidh Fuadi add585fe23 Tambahkan dukungan penyimpanan lokal dan perbaikan manajemen data
- Integrasikan GetStorage untuk menyimpan data counter secara lokal
- Tambahkan metode loadCountersFromStorage di CounterService
- Perbarui model DonaturModel dan StokBantuanModel untuk konsistensi data
- Tambahkan properti lastUpdateTime di controller untuk melacak pembaruan data
- Perbaiki tampilan dengan menambahkan informasi waktu terakhir update
- Optimalkan metode refresh dan update data di berbagai controller
2025-03-12 15:21:16 +07:00

61 lines
1.8 KiB
Dart

import 'package:intl/intl.dart';
class DateFormatter {
static String formatDate(DateTime? date,
{String format = 'dd MMMM yyyy',
String locale = 'id_ID',
String defaultValue = '-'}) {
if (date == null) return defaultValue;
try {
return DateFormat(format, locale).format(date);
} catch (e) {
print('Error formatting date: $e');
return date.toString().split(' ')[0]; // Fallback to basic format
}
}
static String formatTime(DateTime? time,
{String format = 'HH:mm',
String locale = 'id_ID',
String defaultValue = '-'}) {
if (time == null) return defaultValue;
try {
return DateFormat(format, locale).format(time);
} catch (e) {
print('Error formatting time: $e');
return time
.toString()
.split(' ')[1]
.substring(0, 5); // Fallback to basic format
}
}
static String formatDateTime(DateTime? dateTime,
{String format = 'dd MMMM yyyy HH:mm',
String locale = 'id_ID',
String defaultValue = '-'}) {
if (dateTime == null) return defaultValue;
try {
return DateFormat(format, locale).format(dateTime);
} catch (e) {
print('Error formatting date time: $e');
return dateTime.toString().split('.')[0]; // Fallback to basic format
}
}
static String formatNumber(num? number,
{String locale = 'id_ID', String defaultValue = '0'}) {
if (number == null) return defaultValue;
try {
return NumberFormat("#,##0.##", locale).format(number);
} catch (e) {
print('Error formatting number: $e');
return number.toString(); // Fallback to basic format
}
}
static String formatDateTimeWithHour(DateTime dateTime) {
return DateFormat('dd MMMM yyyy HH:mm', 'id_ID').format(dateTime);
}
}