2011-10-07 5 views
-3

입니다. 2010 년 9 월 30 일과 같은 PHP 날짜 변환을이 형식 2011-09-30 21:35:46으로 변환하려고합니다.PHP 날짜 변환 날짜가

일부 설명서를 읽었지만 그 내용은 저에게 어려울 것입니다.

$input = "09/30/2011"; 
$output = "2011-09-30 21:35:46"; 

$output = date('Y-m-d h:m:s', strtotime($input)) 
+0

여기서 작동하지 않는 것은 무엇입니까? – esqew

+5

코드가 올바르게 작동합니다. 원래 형식으로 지정된 시간이 없으므로 현재 시간을 인쇄합니다. 몇시에해야할까요? –

+0

제 형식이 잘못되었습니다. Y-m-d h : m : s는 Y-m-d이어야합니다. h : i : s –

답변

3

코드에서 'Y-m-d h : m : s'형식 문자열을 'Y-m-d H : i : s'로 수정해야합니다. date 함수에서 char 'm'형식은 분이 아니라 월입니다. 'h'는 01에서 12까지의 시간이고 'H'는 00에서 23까지의 시간입니다.

+0

이봐, 나는 정말로 그렇게 생각하지 않습니다. PHP가 10 년 이상 지난 후 왜 내 스크립트가 작동하지 않는지 궁금해합니다. 감사. –

2

코드가 작동하지만 PHP에서 DateTime을 가지고 놀고 싶다면 여기에 약간의 예가 있습니다.

타임 스탬프를 제외한 모든 날짜 출력은 해당 시간대에서 적절한 시간을 얻으려면 시간대가 필요합니다. 당신이 원하는 경우 XXXX List of supported timezones

밖으로 값을 서

date_default_timezone_set('XXXX'); 

: 당신의 PHP 구성 나던 이미 당신을 위해 그것을 설정 한 경우

그래서,하여 기본 시간대를 설정 당신이 당신의 예를 들어 "2011년 9월 30일"당신을 시간을 설정하려면, 지금 현재 시간이있을 것이다

$date = new DateTime(); 

$ 날짜 : 당신은에 의해 지금 초기화해야 할 대상으로 날짜를 사용 서면에서 직접이 작업을 수행 할 수 있습니다

$date = new DateTime('09/30/2011'); 

당신이 사용할 수있는 날짜 출력 포맷하기 :

echo $date->format('Y-m-d H:i:s'); 

또는 당신은 당신의 시간을 설정뿐만 아니라 당신이 시간과 함께 날짜 시간을 initilize 수 원하는 경우 음 :

$date = new DateTime('09/30/2011 21:35:46'); 

형식 출력은 사용자의 시간대에 따라 달라집니다.

DateTime에 대한 자세한 내용은 DateTime class manual을 참조하십시오.