格式化碳日期实例


Formatting a Carbon date instance

我有一个返回以下日期时间的数组:

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

如何使用碳在Laravel中将日期更改为M d Y格式?

当前它返回错误

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

首先将created_at字段解析为 Carbon 对象。

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

然后你可以使用

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

Laravel 6.x 和 7.x 的日期转换

/**
* The attributes that should be cast.
*
* @var array
*/
protected $casts = [
   'created_at' => 'datetime:Y-m-d',
   'updated_at' => 'datetime:Y-m-d',
   'deleted_at' => 'datetime:Y-m-d h:i:s'
];

Laravel 5 在您的模型中很容易添加属性protected $dates = ['created_at', 'cached_at'] .在此处查看详细信息 https://laravel.com/docs/5.2/eloquent-mutators#date-mutators

日期突变器:拉拉维尔 5.x

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'];
}

您可以像这样格式化日期$user->created_at->format('M d Y');或 PHP 支持的任何格式。

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

如果您使用的是雄辩模型(通过查看您的代码,我认为您是(,则无需将其转换为数组。只需将其用作对象即可。就像托马斯·金(Thomas Kim(说的那样,默认情况下它是一个碳实例

所以应该是

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

但如果不是,则需要将其转换为碳对象作为米兰·马哈尔詹的答案

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

在模型中声明:

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

> Laravel 5 时间戳是 Carbon 类的实例,因此您可以直接在时间戳上调用 Carbon 的字符串格式化方法。您的视图文件中有类似这样的内容。

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

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

试试:

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

这就是我的做法。它还显示上午/下午。

$user->updated_at->format('M, d Y H:i:s A')

只需使用

Carbon::createFromFormat('Y-m-d H:i:s', $item['created_at'])->format('M d Y');

只需使用date()strtotime()功能即可节省您的时间

$suborder['payment_date'] = date('d-m-Y', strtotime($item['created_at']));

不要紧张!!

如果你使用雄辩,只需使用这个:

$order->created_at->format('D, M d, Y h:i A')

注意:编辑您自己的格式。

向模型添加强制转换属性

protected $casts = [
'created_at' => 'date', 
'payment_date' => 'date'
];

如果您还想格式化日期时间,只需添加日期时间而不是日期

protected $casts = [
'created_at' => 'datetime',
'payment_date' => 'datetime'
]

使用Illuminate''Support''Carbon;

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

$suborder['payment_date'] = 碳::p arse($item['created_at'](->格式('M d Y'(;