| Package Data | |
|---|---|
| Maintainer Username: | joshbrw | 
| Maintainer Contact: | josh@joshbrown.me (Josh Brown) | 
| Package Create Date: | 2017-03-20 | 
| Package Last Update: | 2017-09-14 | 
| Language: | PHP | 
| License: | MIT | 
| Last Refreshed: | 2025-10-27 15:00:56 | 
| Package Statistics | |
|---|---|
| Total Downloads: | 2,918 | 
| Monthly Downloads: | 0 | 
| Daily Downloads: | 0 | 
| Total Stars: | 0 | 
| Total Watchers: | 0 | 
| Total Forks: | 0 | 
| Total Open Issues: | 0 | 
composer require joshbrw/laravel-contextual-dates
config/app.php:
Joshbrw\LaravelContextualDates\ContextualDatesServiceProvider::class
DateTimeFactory with the desired Timezone and Formats. These formats can be named whatever you like, i.e. long or short.FormatsDates trait or the helpers defined in helpers.php to localize/output the dates.Two date formats are provided by default, long and short. These can be over-ridden at any time.
The DateTimeFactory is bound as a singleton in the container, so it can be picked up and modified at any time (similar to the inbuilt View/Validation factories that Laravel provides).
$dateTimeFactory = app(DateTimeFactory::class);
$dateTimeFactory->addFormat('mixed', 'Y-m-d');
$carbon = new \Carbon\Carbon;
$dateTime = $dateTimeFactory->createFromCarbon($carbon);
echo $dateTime->format('mixed'); /* Outputs in Y-m-d */
This package ships with two helper methods; localize_date() and format_date().
$dateTimeFactory = app(DateTimeFactory::class);
$dateTimeFactory->addFormat('mixed', 'Y-m-d');
$carbon = new \Carbon\Carbon;
$instance = localize_date($carbon); /* Instance of DateTime */
echo format_date($carbon, 'mixed'); /* Outputs in Y-m-d */
You can format dates in the Views using the Blade Directive. All this does is proxy to the format_date() helper method.
@date(new Carbon, 'long')