Everything you need to build applications with Ethiopian and Gregorian calendar support.
Seamlessly work with both Ethiopian and Gregorian calendars in a single interface.
Complete date and time selection with customizable formats and time zones.
Full TypeScript support with comprehensive type definitions for better development experience.
Style with Tailwind CSS or standard CSS. Complete control over appearance and behavior.
Built-in support for Amharic and English with extensible localization system.
Lightweight, fast, and optimized for production applications with minimal bundle size.
npm install et-calendarGet up and running with Et-Calendar in minutes. Here are the most common use cases.
import { useState } from "react";
import { EthiopianDate } from "et-calendar/lib";
import { DatePicker } from "et-calendar";
function App() {
const [date, setDate] = useState<Date>(() => new Date());
const [ethDate, setEthDate] = useState(() => EthiopianDate.toEth(new Date()));
const handleDateChange = (newDate: Date) => {
setDate(newDate);
setEthDate(EthiopianDate.toEth(newDate));
};
return (
<DatePicker
selectedDate={date} // The selected date
onDateChange={handleDateChange} // This function will be called when a date is selected
showCalendars="both" // Options: "gregorian" | "ethiopian" | "both"
viewFirst="Gregorian" // Options: "Gregorian" | "Ethiopian"
dateFormat="MMMM dd, yyyy" // Time tokens will be ignored in DatePicker
closeOnSelect // Close popover after day pick
/>
);
}
export default App;Experience the power of Et-Calendar with these interactive examples. Try different configurations and see how they work in real-time.
View the selected date in both calendar systems with various formatting options.
Full Date
January 28, 2026
Formatted
2026-01-28
Full Date
ጥር 20, 2018
Formatted DateTime
2018-05-20 13:21:48
Explore different formatting options for Ethiopian dates. Each example shows the format string and the resulting output.
Standard date format, commonly used in technical contexts
2018-05-20
Common format used in Ethiopia and many other countries
20/05/2018
Long format with full month name in Amharic
ጥር 20, 2018
Abbreviated format with day of week
ረቡ, ጥር 20 2018
Complete format with full day and month names
ረቡዕ, ጥር 20, 2018
Standard datetime format with 24-hour time
2018-05-20 13:21:48
Long datetime format with full month name
ጥር 20, 2018 13:21:48
Complete reference for all components, hooks, and utilities in Et-Calendar.
A component for selecting dates using Ethiopian or Gregorian calendars.
selectedDate?onDateChangeshowCalendarsviewFirst?dateFormat?minDate? / maxDate?clampNavigation?enforceInitialWithinRange?closeOnSelect?datePickerClassNames?calanderClassNames?popoverProps?ethiopianTabName? / gregorianTabName?A component for selecting both dates and times, supporting Ethiopian and Gregorian calendars.
selectedDate?onDateChangeshowCalendarsviewFirst?dateFormat?timeFormat?minDate? / maxDate?clampNavigation?enforceInitialWithinRange?closeOnSelect?datePickerClassNames?timePickerClassNames?calanderClassNames?popoverProps?ethiopianTabName? / gregorianTabName?