我正在处理HTML电子邮件,其中有一个日期部分,我想在其中放置占位符,因为它是动态数据。
我使用日期的HTML代码是:
<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>
我想知道要代替Mar 28/18 @ 7:00pm to <br> Mar 30/18 @ 7:00pm
,我需要哪个占位符来正确格式化日期变量?
答案 0 :(得分:0)
根据动态日期数据的类型,您需要采取不同的操作。
{{ $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)) }}
扩展Blade以使用新的@datetime
指令。添加一个BladeServiceProvider
并在其boot
方法中注册该指令。
您也可以将其添加到已经存在的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'); ?>";
});
}
}
有了这些并考虑Carbon实例,您的视图代码将是:
@datetime($start) to @datetime($end)
不用说,您可以轻松地将代码修改为其他日期类型。