I am working on HTML emails in which there is a date section where I want to place a placeholder as it's a dynamic data.
The HTML code where I am using dates are:
<tr>
<td style="padding-bottom: 3%;text-align:right;">when:</td>
<td style="padding-bottom: 3%;padding-left: 8%;">Mar 28/18 @ 7:00pm to <br> Mar 30/18 @ 7:00pm</td>
</tr>
I am wondering in place of Mar 28/18 @ 7:00pm to <br> Mar 30/18 @ 7:00pm
, what placeholder do I need to format the date variables properly?
Depending on what type your dynamic date data have, you need to take different actions.
{{ $start->format('M d/y @ h:ma') }} to <br> {{ $end->format('M d/y @ h:ma') }}
{{ date('M d/y @ h:ma', $start) }} to <br> {{ date('M d/y @ h:ma', $end) }}
{{ date('M d/y @ h:ma', strtotime($start)) }} to <br> {{ date('M d/y @ h:ma', strtotime($end)) }}
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.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.