update formato fecha espaƱol diffindays create php laravel laravel-5 php-carbon

php - fecha - Formato Laravel 5 Carbon.



update carbon laravel (7)

Tengo una matriz que devuelve la siguiente fecha y hora:

$item[''created_at''] => "2015-10-28 19:18:44"

¿Cómo cambio la fecha al formato M d Y en Laravel usando Carbon?

Actualmente vuelve con un error.

$suborder[''payment_date''] = $item[''created_at'']->format(''M d Y'');


Declarar en modelo:

class ModelName extends Model { protected $casts = [ ''created_at'' => ''datetime:d/m/Y'', // Change your format ''updated_at'' => ''datetime:d/m/Y'', ];


Es fácil para Laravel 5 en su modelo agregar propiedad protected $dates = [''created_at'', ''cached_at''] . Vea el detalle aquí https://laravel.com/docs/5.2/eloquent-mutators#date-mutators

Ex:

namespace App; use Illuminate/Database/Eloquent/Model; class User extends Model { /** * The attributes that should be mutated to dates. * * @var array */ protected $dates = [''created_at'', ''updated_at'', ''deleted_at'']; }

Puede formatear una fecha como esta $user->created_at->format(''M d Y''); o cualquier formato que soporte PHP.


Las marcas de tiempo de Laravel 5 son instancias de la clase Carbon, por lo que puede llamar directamente al método de formato de cadena de Carbon en sus marcas de tiempo. Algo como esto en tu archivo de vista.

{{$task->created_at->toFormattedDateString()}}

http://carbon.nesbot.com/docs/#api-formatting


Primero analice el campo created_at como objeto Carbon.

$createdAt = Carbon::parse($item[''created_at'']);

Entonces puedes usar

$suborder[''payment_date''] = $createdAt->format(''M d Y'');


Si está utilizando un modelo elocuente (al mirar su código, creo que sí lo está), no necesita convertirlo en una matriz. Solo utilízalo como objeto. Becaus elike Thomas Kim dijo que, por defecto, es una instancia de Carbon

Así debería ser

$suborder[''payment_date''] = $item->created_at->format(''Y-m-d'')

Pero si no es así, necesita convertirlo en un objeto Carbon como respuesta de Milan Maharjan

$createdAt = Carbon::parse($item[''created_at'']);


Trata eso:

$createdAt = Carbon::parse(date_format($item[''created_at''],''d/m/Y H:i:s''); $createdAt= $createdAt->format(''M d Y'');


$suborder[''payment_date''] = Carbon::parse($item[''created_at''])->format(''M d Y'');