Looking to hire Laravel developers? Try LaraJobs

calendar-date-laravel maintained by maarheeze

Description
laravel integration for a timezone-agnostic calendar date value object
Last update
2026/04/18 16:14 (dev-main)
License
Links
Downloads
4

Comments
comments powered by Disqus

maarheeze/calendar-date-laravel

Laravel integration for maarheeze/calendar-date.

Requirements

  • PHP 8.2+
  • Laravel 8+

Installation

composer require maarheeze/calendar-date-laravel

Usage

Eloquent cast

use Maarheeze\CalendarDate\Casts\CalendarDateCast;

class Article extends Model
{
    protected $casts = [
        'publication_date' => CalendarDateCast::class,
    ];
}

The cast handles null, string, and DateTimeInterface values from the database, and stores as Y-m-d.

Blade

Since CalendarDate implements __toString(), it renders directly in Blade:

{{ $article->publication_date }} // results in 2000-01-01
{{ $article->publication_date->format('d-m-Y') }} // results in 01-01-2000

Validation

Use a custom constraint for validation in form requests:

use Maarheeze\CalendarDate\Rules\CalendarDateRule;

public function rules(): array
{
    return [
        'publication_date' => ['required', new CalendarDateRule(max: 'today')],
    ];
}

License

MIT