2011-07-28 3 views
1

날짜가 있지만 포맷 된 문자열이 있습니다 : mddyy strtotime() 함수가 이것을 이해하지 못합니다. 배열로 분할하고 필요에 따라 필요한 것들을 옮길 수 있지만 더 나은 방법이 있는지 알고 있습니다. php 날짜로 변환하는 좋은 방법은 무엇입니까?strtotime() 표준 형식이 아닌 날짜

내 날짜 형식은 월에 따라 가변 길이 (5 자리 수, 6 자리 수)입니다. 그것을 분할

12511 = January 25 2011 
110511 = November 5 2011 
+0

11 월에는 어떻게됩니까? – Bing

+0

@Mike : 날짜의 예를 들어주세요. 122511과 같은가요? (2011 년 12 월 25 일)? – Shef

+0

월은 1 자리 월에 대해 1 자리 숫자이고 2 자리 숫자 월에 2 자리 숫자입니다. 그게 당신이 말하는 거라면? – Mike

답변

1

나는 왼쪽에 0을 패딩으로 일을 date_create_from_format를 얻을 수 있었다.

date_create_from_format("mjy", str_pad($date, 6, "0", STR_PAD_LEFT)); 
+0

이것은 분명히이 문제에 대한 가장 훌륭하고 깨끗한 해결책입니다. –

3

사용 SUBSTR ...

$date='72811'; 
if (strlen($date)==5) { 
    // 5 digit dates 
    $unixtime = mktime(0,0,0, substr(0,1,$date), substr(1,2,$date), substr(3,2,$date)); 
} else { 
    // 6 digit dates 
    $unixtime = mktime(0,0,0, substr(0,2,$date), substr(2,2,$date), substr(4,2,$date)); 
} 
+0

오, 당신이 업데이트 된 코드를 작성하는 동시에 아이디어를 썼습니다. – Griwes

관련 문제