변환 Datetime PHP
-
02-01-2020 - |
문제
나는 datetime 문자열로 14/04/2014 4:57:16 PM
와 나를 사용하여 탄소 datetime 직접 할 수 있습니다.
그러나로 수행하려고 이
$dt = Carbon::createFromTimestampUTC($encDateTime);
그러나 나는 구문 분석류:DateTime::__construct():지 못했을 분석하는 시간 문자열(@14/04/2014 5:03:45PM)에 위치한 3(/):예상치 못한 문자입니다.
업데이트: 나가려고 하는 이것:
$date = DateTime::createFromFormat('d/m/Y H:i A', $encDateTime);
dd($date->format('Y-m-d H:i:s'));
나는 다음과 같은 오류 멤버 함수 호출 형식으로()비체
할 수 있습니 저를 도와주세요 이?
감사
해결책
날짜 문자열을 포함한 공간에서 최종하는 이유 DateTime::createFromFormat()
실패하는 구문 분석합니다.을 제거하는 공백이 시작 부분에서 그리고/또는 최종 사용할 수 있습니다 trim()
.
또한,당신은 원래 사용 H
, 는 24 시간 형식과 주요 터널을 설정하는 방식이다이 경우에,그것은 다음과 같 당신이 12 시간 형식,그래서 사용 g
대신(h
작동,도).
다음과 같은 작업해야 합:
$date = DateTime::createFromFormat('d/m/Y g:i:s A', trim($encDateTime));
을 받을 때 이러한 오류 상 var_dump()
값.는 방법을 확인할 수 있습니다면 변수에 포함된 당신이 무슨 생각을 그렇습니다.
다른 팁
DateTime의 정적 메소드 createFromFormat
는 구문 분석 오류가있을 때 NULL
를 반환합니다.주어진 형식 (d/m/Y H:i A
)이 잘못되었습니다.따라서 비 객체 "의 멤버 함수 format()
에 대한" 호출 "오류가 있습니다.
이와 같이 비표준 비표준 타임 스트링에서 DateTime 개체를 만들 수 있습니다.
$time = '14/04/2014 4:57:16 PM';
$date = Carbon\Carbon::createFromFormat('d/m/Y g:i:s A', $time);
.
사용할 수있는 다른 형식 문자 및 설명은 date()
설명서에서 찾을 수 있습니다..
나는 탄소에 대해 아무것도 모른다. 그러나 이것은 작용한다.CREATEFROMFORFAT 메소드에서 H (편집 : G가 동일한 정확한 것) 대신 2 자리 (H)를 사용하고있었습니다.
$encDateTime = "14/04/2014 4:57:16 PM";
$date1 = DateTime::createFromFormat('d/m/Y h:i:s A', trim($encDateTime));
echo $date1->format('Y-m-d H:i:s');
.
결과 :
2014-04-14 16:57:16
. laravel 날짜 함수 만 사용하십시오 :
$productsales=DB::table('tbl_trans')
->leftjoin('tbl_product','tbl_product.prod_id','=','tbl_trans.product_id')
->select(DB::raw('count(product_id) as quant'),'product_id','tbl_product.name','tbl_product.code','tbl_product.price')
->groupBy('product_id','code','name','price')
->whereDate('tbl_trans.created_at','2017-07-29')
->get();
return view('reports.productsales',compact('productsales'));
.