카본 날짜 인스턴스 형식 지정
다음 날짜 시간을 반환하는 배열이 있습니다.
$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
'it-source' 카테고리의 다른 글
일본어 텍스트를 두 번 클릭하면 Chrome에서 강조 표시할 항목을 어떻게 결정합니까? (0) | 2023.02.02 |
---|---|
인터페이스 상수의 용도는 무엇입니까? (0) | 2023.01.23 |
mariadb와 python2.7을 연결하는 방법이 있습니까? (0) | 2023.01.23 |
랜덤 클래스 스레드는 안전합니까? (0) | 2023.01.23 |
Vue v-model에서 크롬 자동 완료를 감지하지 못함 (0) | 2023.01.23 |