我如何使用格式日期功能

时间:2018-12-25 21:59:41

标签: php laravel

我尝试格式化日期时遇到问题。

这是我的观点。

    <body>
        <h1>{{ $events->count() }} Events</h1>

        @foreach($events as $event)
            <article>
                <h1>{{ $event->name }}</h1>
                <p>{{ $event->description }}</p>
                <p>{!! format_price($event) !!}</p>
                <p>Lieu :{{ $event->location }}</p>
                <p>Date : {{ format_date($event->starts_at) }}</p>
            </article>
            @if(! $loop->last)
            <hr>
            @endif
        @endforeach
    </body>

这是我的助手。

    <?php 

    function format_price($event) {
            if($event->isFree()) {
                return '<strong>GRATUIT</strong>';
            } else {
                return sprintf("%.2f euros", $event->price);
            }
        }


    function format_date($date) {
            return $date->format('d/m/y H:i');
        }


    ?>

这是我尝试查看页面时遇到的错误。

  

ErrorException(E_ERROR)在字符串上调用成员函数format()(视图:/home/pangraf/events/resources/views/events/index.blade.php)*

4 个答案:

答案 0 :(得分:2)

请在laravel中使用call carbon类,并传递要转换为Carbon :: parse($ date)-> format()的日期,在Carbon上了解有关carbon的更多信息

答案 1 :(得分:0)

observed <- data.frame(observed1 = prediction1, observed2 = prediction1) # Both use prediction1 是字符串而不是对象,请使用$event->starts_at
date()用于DateTime对象。

format()

或者您可以先创建一个对象

function format_date($date) {
    return date('d/m/y H:i', strtotime($date));
}

答案 2 :(得分:0)

您正在尝试在字符串中调用不存在的方法。 @spartyboy的解决方案是正确的。 通常,我使用\ Carbon \ Carbon库,该库提供了很多用于操作日期的工具。使用碳,您可以做到

\Carbon\Carbon::parse($date)->format('d/m/y H:i');
// or Carbon:: if you declare use Carbon\Carbon; before in your code. 

答案 3 :(得分:0)

代替

  

{{format_date($ event-> starts_at)}}

最好使用碳纤维。

  

{{\ Carbon \ Carbon :: parse($ event-> starts_at)-> format('d / m / y H:i')}}

或者如果您不想更改,请使用@Qirel Answer!