2011-07-28 10 views
1

phpの日付は文字列ですが、フォーマットはmddyy です。strtotime()関数はこれを理解していません。私はそれを配列に分割し、必要な場所に移動するために必要に応じて物を動かすことができると知っていますが、そこにはもっと良いものがありますか?これをPHPの日付に変換する良い方法は何ですか?標準形式でない日付のstrtotime()

私の日付の形式は、月に応じて可変長(5桁でも、6でもかまいません)です。

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

11月はどうなりますか? – Bing

+0

@Mike:日付の例を教えてください。それは '122511'(' December 25、2011')のようですか? – 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

ああ、私はあなたが更新されたコードを書いたのと同時にアイデアを書きました; d – Griwes