PHP code example of mammesat / filament-ethiopic-calendar

1. Go to this page and download the library: Download mammesat/filament-ethiopic-calendar library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

mammesat / filament-ethiopic-calendar example snippets


use Mammesat\FilamentEthiopicCalendar\Fields\EthiopicDateTimePicker;

EthiopicDateTimePicker::make('appointment_at')
    ->label('Appointment Date')
    ->ethiopic()
    ->withTime()
    ->

use Mammesat\FilamentEthiopicCalendar\Fields\EthiopicDateTimePicker;

EthiopicDateTimePicker::make('birth_date')
    ->label('Birth Date')
    ->ethiopic()
    ->withTime()
    ->

use Mammesat\FilamentEthiopicCalendar\Tables\Columns\EthiopicDateColumn;

EthiopicDateColumn::make('birth_date')
    ->label('Birth Date')
    ->ethiopic()
    ->withTime();

use Mammesat\FilamentEthiopicCalendar\Infolists\Components\EthiopicDateEntry;

EthiopicDateEntry::make('birth_date')
    ->label('Birth Date')
    ->ethiopic()
    ->withTime();

use Mammesat\FilamentEthiopicCalendar\Tables\Columns\EthiopicDateColumn;

EthiopicDateColumn::make('created_at')
    ->ethiopic()
    ->tooltipAlternate(); // Hover shows Greg equivalent

use Mammesat\FilamentEthiopicCalendar\Infolists\Components\EthiopicDateEntry;

EthiopicDateEntry::make('birth_date')
    ->gregorian()
    ->tooltipAlternate(); // Hover shows Ethiopic equivalent

EthiopicDateTimePicker::make('date')
    ->dual()
    ->withTime();

EthiopicDateTimePicker::make('date')
    ->gregorian();

EthiopicDateTimePicker::make('date')
    ->ethiopic()
    ->calendarLocale('en');

EthiopicDateTimePicker::make('date')
    ->ethiopic()
    ->showEthiopicHelper(false)  // disable built-in helper
    ->helperText(fn ($state, $component) =>
        $state
            ? 'Displayed as: ' . $component->getFormattedPreview($state)
            : null
    );

EthiopicDateTimePicker::make('date')
    ->ethiopic();  // no ->withTime() = date only

use Mammesat\FilamentEthiopicCalendar\Support\EthiopicConfig;

EthiopicConfig::set('calendar_system', fn () => tenant()->usesGregorian() ? 'gregorian' : 'ethiopic');
EthiopicConfig::set('display_mode',    fn () => tenant()->usesGregorian() ? 'gregorian' : 'ethiopic_english');

// ❌ Wrong — this is Filament's standard picker, no Ethiopian support
DateTimePicker::make('date');

// ✅ Correct
EthiopicDateTimePicker::make('date')->ethiopic();

// ❌ Unnecessary — don't do this
EthiopicDateTimePicker::make('date')
    ->displayMode('ethiopic_amharic')
    ->timeMode('ethiopian')
    ->calendarLocale('am');

// ✅ Just use the preset
EthiopicDateTimePicker::make('date')
    ->ethiopic();

use Mammesat\FilamentEthiopicCalendar\Services\EthiopicFormatter;

// Date only
EthiopicFormatter::formatDate('2026-04-21', 'ethiopic_amharic');
// → "ሚያዝያ 13, 2018"

// Date + time
EthiopicFormatter::formatDateTime('2026-04-21 10:00:00', 'dual', 'dual');
// → "Apr 21, 2026 (ሚያዝያ 13, 2018) 10:00 AM (ጠዋት 4:00)"

// Ethiopian time only
EthiopicFormatter::formatEthiopianTime('10:00');
// → "ጠዋት 4:00"
bash
php artisan vendor:publish --tag="filament-ethiopic-calendar-config"
bash
php artisan filament:assets
php artisan optimize:clear