Depending on what type your dynamic date data have, you need to take different actions.
Formatting Carbon instances
{{ $start->format('M d/y @ h:ma') }} to <br> {{ $end->format('M d/y @ h:ma') }}
Formatting vanilla timestamps
{{ date('M d/y @ h:ma', $start) }} to <br> {{ date('M d/y @ h:ma', $end) }}
Formatting valid date strings
{{ date('M d/y @ h:ma', strtotime($start)) }} to <br> {{ date('M d/y @ h:ma', strtotime($end)) }}
Formatting dates using custom Blade directives
Extend Blade for a new @datetime
directive. Add a BladeServiceProvider
and register the directive in its boot
method.
You can also be lazy and add it to already existing AppServiceProvider
.
<?php
namespace App\Providers;
use Illuminate\Support\Facades\Blade;
use Illuminate\Support\ServiceProvider;
class BladeServiceProvider extends ServiceProvider
{
public function boot()
{
Blade::directive('datetime', function ($expression) {
return "<?php echo ($expression)->format('M d/y @ h:ma'); ?>";
});
}
}
With that in place and considering Carbon instances, your view code would be:
@datetime($start) to @datetime($end)
Needless to say that you can easily adapt the code for other date types.