it-source

카본 날짜 인스턴스 형식 지정

criticalcode 2023. 1. 23. 10:10
반응형

카본 날짜 인스턴스 형식 지정

다음 날짜 시간을 반환하는 배열이 있습니다.

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

날짜 변경 방법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');

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

모델의 Larabel 5는 속성을 쉽게 추가할 수 있습니다.protected $dates = ['created_at', 'cached_at']자세한 내용은 이쪽 https://laravel.com/docs/5.2/eloquent-mutators#date-mutators을 참조해 주세요.

날짜 변경자: Larabel 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이 말했듯이 기본적으로는 Carbon 인스턴스입니다.

그러니까...

$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',
];

Larabel 5 타임스탬프는 Carbon 클래스의 인스턴스이므로 타임스탬프에서 Carbon 문자열 포맷 메서드를 직접 호출할 수 있습니다.당신의 뷰 파일에 이런 게 있어요.

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

http://carbon.nesbot.com/docs/ #api 포맷

시험해 보세요.

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

이게 제 방식입니다.AM/PM도 표시됩니다.

$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']));

스트레스 받지 마!!!

모델에 깁스 특성 추가

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

datetime 형식을 지정하려면 날짜 대신 datetime을 추가하십시오.

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

웅변을 사용하는 경우는, 다음의 조작을 사용해 주세요.

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

메모: 사용자 고유의 포맷을 편집합니다.

언급URL : https://stackoverflow.com/questions/33405939/formatting-a-carbon-date-instance

반응형