페이지에서 날짜 형식 변경
데이터베이스에서 날짜 형식을 변경하고 싶습니다. 이제 2016-10-01 {{$user->from_date}}
. laravel 5.3에서 'dmy'형식을 변경하고 싶습니다.
{{ $user->from_date->format('d/m/Y')}}
이 시도 :
date('d-m-Y', strtotime($user->from_date));
날짜를 d-m-Y
형식으로 변환 합니다.
참고 : 이 솔루션은 php 및 모든 프레임 워크에서 작동하는 일반적인 솔루션입니다. Laravel 특정 방법의 경우 Hamelraj에서 제공하는 솔루션을 사용합니다 .
Laravel 사용에서 탄소 그것의 좋은
{{ \Carbon\Carbon::parse($user->from_date)->format('d/m/Y')}}
모델 세트에서 :
protected $dates = ['name_field'];
당신의 관점에서 :
{{ $user->from_date->format('d/m/Y') }}
공장
확인할 수 있습니다 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 }}
하면 원하는 형식을 볼 수 있습니다.
블레이드 템플릿에서 사용하기 쉬운 날짜는 그런 식으로 카본 을 사용 합니다.
{{ \Carbon\Carbon::parse($user->from_date)->format('d/m/Y')}}
방법 1 :
strtotime()
종료 시간을 사용하는 것이 주어진 형식으로 변경하는 가장 좋은 형식입니다.
strtotime()
-영어 텍스트 날짜 / 시간 설명을 Unix 타임 스탬프로 구문 분석
이 함수는 영어 날짜 형식을 포함하는 것입니다. 주어질 예상하고 현재 월 수있는 일 타임 스탬프를 타임으로 해당 형식을 Unix 스탬프 (1970 년 1 월 1 일 00:00:00 UTC 이후의 초) 시도합니다. 이제는 제공되지 않은 경우 현재 시간입니다.
예 :
<?php
$timestamp = strtotime( "February 26, 2007" );
print date('Y-m-d', $timestamp );
?>
다수 :
2007-02-26
방법 2 :
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
다음과 같은 3 가지 방법이 있습니다.
1) 라 라벨 모델 사용
$user = \App\User::find(1);
$newDateFormat = $user->created_at->format('d/m/Y');
dd($newDateFormat);
2) PHP strtotime 사용
$user = \App\User::find(1);
$newDateFormat2 = date('d/m/Y', strtotime($user->created_at));
dd($newDateFormat2);
3) 카본 사용
$user = \App\User::find(1);
$newDateFormat3 = \Carbon\Carbon::parse($user->created_at)->format('d/m/Y');
dd($newDateFormat3);
신고 문제가 있습니다. 형식을 변경하고 싶었지만 블레이드 템플릿 엔진 회의 형식을 설명 수있는 유연성을 원했습니다.
따라서 내 모델을 다음과 같이 설정합니다.
<?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에서. 그것은 코드를 깔끔하고 유지하기 쉽게 유지합니다.
당신이 사용할 수있는 Carbon::createFromTimestamp
잎
{{ \Carbon\Carbon::createFromTimestamp($user->from_date)->format('d-m-Y')}}
때때로 날짜 형식을 변경하면 특히 Laravel에서 제대로 작동하지 않습니다. 따라서이 경우 다음을 사용하는 것이 좋습니다.
$date1 = strtr($_REQUEST['date'], '/', '-');
echo date('Y-m-d', strtotime($date1));
그러면 "1970-01-01"과 같은 오류를 피할 수 있습니다!
라 라벨에서는 app / Helper / helper.php 안에 함수를 추가 할 수 있습니다.
function formatDate($date = '', $format = 'Y-m-d'){
if($date == '' || $date == null)
return;
return date($format,strtotime($date));
}
다음과 같은 컨트롤러에서이 함수를 호출합니다.
$start_date = formatDate($start_date,'Y-m-d');
도움이 되었기를 바랍니다.
참고 URL : https://stackoverflow.com/questions/40038521/change-the-date-format-in-laravel-view-page
'ProgramingTip' 카테고리의 다른 글
com.android.ddmlib.InstallException : react-native 세션을 설정하지 않습니다. (0) | 2020.12.09 |
---|---|
Android Studio 및 android.support.v4.app.Fragment : 기호를 확인할 수 없습니다. (0) | 2020.12.09 |
스토리 보드에서 UILabel 속성 확장 밑줄 추가 실패 (0) | 2020.12.09 |
MongoDB는 쓰기를 어떤 수준으로 잠그나요? (0) | 2020.12.09 |
자바 음 펼쳐 수 (0) | 2020.12.09 |