измените формат даты на странице просмотра laravel


Я хочу изменить формат даты, который извлекается из базы данных. теперь у меня есть 2016-10-01{{$user->from_date}}.Я хочу изменить формат 'd-m-y' в laravel 5.3

{{ $user->from_date->format('d/m/Y')}}
Author: user3386779, 2016-10-14

8 answers

Попробуйте это:

date('d-m-Y', strtotime($user->from_date));

Он преобразует дату в формат d-m-Y.

Примечание: Это решение является обобщающим решением, которое работает для php и любой его платформы, для конкретного метода Laravel попробуйте решение, предоставленное Hamelraj.

 44
Author: Mayank Pandeyz, 2018-09-19 08:34:04

В Laravel используйте Углерод его хороший

{{ \Carbon\Carbon::parse($user->from_date)->format('d/m/Y')}}
 59
Author: Hamelraj, 2016-10-14 08:33:32

Вы можете проверить Date Mutators: https://laravel.com/docs/5.3/eloquent-mutators#date-mutators

Вам нужно установить в столбце модели User from_date в массиве $dates, а затем вы можете изменить формат в $dateFormat

Другой вариант - также применить этот метод к вашей модели User:

public function getFromDateAttribute($value) {
    return \Carbon\Carbon::parse($value)->format('d-m-Y');
}

А затем в поле зрения, если вы запустите {{ $user->from_date }}, вы увидите нужный формат.

 25
Author: Marek Skiba, 2016-10-14 08:42:28

В вашем наборе моделей:

protected $dates = ['name_field'];

После, по вашему мнению:

{{ $user->from_date->format('d/m/Y') }}

Работает

 22
Author: HorecioDias, 2017-02-24 18:01:56

Простая в использовании дата в шаблоне блейда Углерод таким образом

{{ \Carbon\Carbon::parse($user->from_date)->format('d/m/Y')}}
 9
Author: Umar Tariq, 2018-02-15 05:44:14

Способ первый:

Использование strtotime() для времени - лучший формат для изменения даты в заданный формат.

strtotime() - Проанализируйте любое текстовое описание даты и времени на английском языке в метку времени Unix

Функция ожидает, что ей будет предоставлена строка, содержащая формат даты на английском языке, и попытается проанализировать этот формат в метку времени Unix (количество секунд с 1 января 1970 года 00:00:00 UTC) относительно метки времени, указанной в сейчас, или текущего времени, если сейчас не поставляется.

Пример:

<?php
$timestamp = strtotime( "February 26, 2007" );  
print date('Y-m-d', $timestamp );
?>

Выход:

2007-02-26

Способ второй:

date_format() - Верните новый объект DateTime, а затем отформатируйте дату:

<?php
$date=date_create("2013-03-15");
echo date_format($date,"Y/m/d H:i:s");
?>

Выход:

 2013/03/15 00:00:00 
 4
Author: Naresh Kumar .P, 2016-10-14 08:41:42

У меня была аналогичная проблема, я хотел изменить формат, но я также хотел иметь возможность гибко изменять формат и в движке шаблонов блейдов.

Поэтому я настроил свою модель следующим образом:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

\Carbon\Carbon::setToStringFormat('d-m-Y');

class User extends Model
{
    protected $dates = [
        'from_date',
    ];
}

setToStringFormat установит все даты, чтобы использовать этот формат для этой модели.
Преимущество этого для меня в том, что я мог бы иметь нужный формат без мутатора, потому что с помощью мутатора атрибут возвращается в виде строки, означающей, что в шаблон блейда Мне пришлось бы написать что-то вроде этого, если бы я хотел изменить формат в шаблоне:

{{ date('Y', strtotime($user->from_date)) }}

Что не очень чисто.

Вместо этого атрибут по-прежнему возвращается как экземпляр Carbon, однако сначала он возвращается в нужном формате.
Это означает, что в шаблоне я мог бы написать следующий, более чистый код:

{{ $user->from_date->format('Y') }}

В дополнение к возможности переформатировать экземпляр Carbon, я также могу вызывать различные методы Carbon для атрибута в шаблон.

Вероятно, в этом подходе есть упущение; Я готов поспорить, что не стоит указывать формат строки в верхней части модели на случай, если это повлияет на другие сценарии. Из того, что я видел до сих пор, этого не произошло. Он изменил только углерод по умолчанию только для этой модели.

В этом случае было бы неплохо вернуть формат Carbon к тому, каким он был изначально в нижней части сценария модели. Это смелая идея, но это было бы работайте над тем, чтобы каждая модель имела свой собственный формат.
Напротив, если у вас один и тот же формат для каждой модели, то вместо этого в вашем AppServiceProvider. Это просто сделало бы код более аккуратным и простым в обслуживании.

 1
Author: JustCarty, 2018-05-07 12:12:59

Вы можете использовать Carbon::createFromTimestamp

ЛЕЗВИЕ

{{ \Carbon\Carbon::createFromTimestamp($user->from_date)->format('d-m-Y')}}
 0
Author: kosta, 2018-08-03 18:48:34