나는이 datetime
MySQL의에서 열을.
PHP를 사용하여 디스플레이를 mm / dd / yy H : M (AM / PM)으로 어떻게 변환 할 수 있습니까?
답변
날짜를 MySQL 형식으로 정규화하는 방법을 찾고 있다면 다음을 사용하십시오.
$phpdate = strtotime( $mysqldate );
$mysqldate = date( 'Y-m-d H:i:s', $phpdate );
줄 $phpdate = strtotime( $mysqldate )
은 문자열을 받아들이고 일련의 휴리스틱을 수행하여 해당 문자열을 유닉스 타임 스탬프로 바꿉니다.
이 라인 $mysqldate = date( 'Y-m-d H:i:s', $phpdate )
은 해당 타임 스탬프와 PHP date
기능을 사용하여 해당 타임 스탬프를 MySQL의 표준 날짜 형식으로 되돌립니다.
( 편집자 주 :이 답변은 혼동되는 문구가 포함 된 원래 질문과 현재 존재하는 질문에 직접 답변하지 않더라도이 답변이 제공 한 일반적인 Google 유용성으로 인해 여기에 제공됩니다)
답변
MySQL에서 검색 한 날짜를 요청 된 형식으로 변환하려면 ( mm/dd/yy H:M (AM/PM)
) :
// $datetime is something like: 2014-01-31 13:05:59
$time = strtotime($datetimeFromMysql);
$myFormatForView = date("m/d/y g:i A", $time);
// $myFormatForView is something like: 01/31/14 1:05 PM
형식을 조정 하려면 PHP 날짜 형식 옵션 을 참조하십시오 .
답변
PHP 5를 사용하는 경우 시도해 볼 수도 있습니다
$oDate = new DateTime($row->createdate);
$sDate = $oDate->format("Y-m-d H:i:s");
답변
$valid_date = date( 'm/d/y g:i A', strtotime($date));
답변
마지막으로 PHP 5.3 이상에 적합한 솔루션 :
(댓글에 언급 된대로 선택적 시간대를 예제에 추가)
$date = \DateTime::createFromFormat('Y-m-d H:i:s', $mysql_source_date, new \DateTimeZone('UTC'));
$date->setTimezone(new \DateTimeZone('Europe/Berlin')); // optional
echo $date->format('m/d/y h:i a');
답변
더 쉬운 방법은 PHP 대신 MySQL 쿼리에서 직접 날짜 형식을 지정하는 것입니다. DATE_FORMAT에 대한 MySQL 수동 항목을 참조하십시오 .
PHP로 작성하려면 날짜 함수 가 필요 하지만 먼저 데이터베이스 값을 타임 스탬프로 변환해야합니다.
답변
모두 잊어 버려 그냥 사용하십시오 :
$date = date("Y-m-d H:i:s",strtotime(str_replace('/','-',$date)))