2011-08-10 4 views
0

시간 형식 : 나는 다음과 같은 형식으로 변환 할 초과 : 15/08/2011 12:32:23일/월/년시 : 분 Ymd H : i : s 일 수PHP는 내가 다음 중에 timeformat 한 변환

내가 date('Y-m-d H:i:s', strtotime($time))하지만 그것으로 시도 작동하지 않습니다. 그것은 문자열과 datenum을 변환하는 달과 스왑 시간을 바꿉니다.

답변

2

strtotime 미국 (mm/dd/YYYY)과 유럽 (dd-mm-YYYY or dd.mm.YYYY) 형식을 모두 이해한다. 일, 월, 연도를 구분하기 위해 슬래시를 사용하고 있기 때문에 날짜가 미국인으로 해석됩니다. 이를 해결하려면 슬래시를 대시로 대체하십시오.

+0

유럽인이고 슬래시를 사용하기 때문에 항상이 점이 저를 약간 상하게합니다. 우리 모두가 여기 함께 모여서 모든 학교에서 동일한 형식을 가르치기로 결정한 것처럼 아닙니다. 대시를 사용하는 미국인이 있습니까? –

+0

아마 있을지 모르지만 PHP 맨 페이지 http://php.net/manual/en/datetime.formats.date.php는 미국식 형식으로'mm/dd/YYYY'를보고합니다. 'dd/mm/YYYY'와'mm/dd/YYYY'를 모두 지원하려면 '10/01/2011'이 2011 년 10 월 10 일인지 '01 년 10 월 1 일인지를 결정하는 방법을 찾아야합니다 2011'. 그래서 미국인들은'mm/dd/YYYY' 포맷으로 슬래쉬를 얻었고, 나머지는'dd-mm-YYYY'를 위해 탭, 점 또는 대시를 사용할 수 있습니다. 안전하고 싶다면 ISO8601 표기법을 사용하십시오. – Arjan

0

하는 경우에, 당신은 아주 간단하게 문자열에서 월과 일을 바꿀 수 :

$time_string = "15/08/2011 12:32:23"; 
$strtotime = explode("/",$time_string); 
$strtotime = implode("/",array($strtotime[1], $strtotime[0], $strtotime[2])); 
echo date('Y-m-d H:i:s', strtotime($strtotime)); 

작업 예 : http://codepad.viper-7.com/234toO

0

시간을 재분석해야합니다. strtotime은 'm/d/Y H:i:s'의 형식으로 문자열을 입력하려고한다고 생각하지만 'd/m/Y H:i:s'을 제공하고 있습니다.

관련 문제