素直に分解すればいいように思います。 $sdate = '2010-02-04'; list($yy, $mm, $dd) = explode('-', $sdate); // 文字列の分解 あるいは、いったんdateにしておいて(使うときに用途に応じてバラす)もいいでしょうし・・ $sdate = '2010-02-04'; $wdate = strtotime($sdate); // 文字列→date型 >date関数では現在の日付からの取得なので違いますし... dateには第二引数があります。strtotimeで文字列→date変換したものを渡せばいいと思いますが・・。 $sdate = '2010-02-04'; print date('Y', strtotime($sdate)); // 年を取り出す