gregorianToEthiopian static method
Convert Gregorian date to Ethiopian date Input: year, month, day in Gregorian calendar Returns: Map with 'year', 'month', 'day' keys for Ethiopian date
Implementation
static Map<String, int> gregorianToEthiopian({
required int year,
required int month,
required int day,
}) {
try {
// Use UTC to avoid timezone-related off-by-one errors
final gregorianDate = DateTime.utc(year, month, day);
// Convert using EtDatetime
final ethiopianDate = EtDatetime.fromMillisecondsSinceEpoch(
gregorianDate.millisecondsSinceEpoch,
);
return {
'year': ethiopianDate.year,
'month': ethiopianDate.month,
'day': ethiopianDate.day,
};
} catch (e) {
throw Exception('Invalid Gregorian date: $e');
}
}