2013-10-23 37 views
0
$str = $in_Date; 
    echo " " . $str; 
while(! feof($str)){ 
    $letter = parse_str($str); 
    echo " " . $letter; 
} 
    $date = array("$letter"); 
    echo " " . $date[0]; 
    echo " " . $date[1]; 

因此,例如$ in_Date = 20131016因此YYYYMMDDPHP抓取年和月

,但我想要做的是在陣列中的每個字符這樣的話我可以抓住0-3這將是今年再搶在本月3-4 ..

這一切工作的方式while語句前行......所以,我認爲我的while語句是錯誤的

+0

你可能想看看使用'str_split' - http://php.net/manual/en/function.str-split.php – andrewsi

+0

既然你知道每個元素的位置,嘗試'substr' - http://php.net/manual/en/function.substr.php –

回答

4

只需使用DateTime::createFromFormat()。它可以解析你的日期瑣碎,並讓你使用日期提供的所有格式化選項。

$dt = DateTime::createFromFormat('Ymd', $in_Date); 
echo $dt->format("Y"); // prints out the year 
echo $dt->format("m"); // prints out the month 
+0

替換你的所有我的代碼將工作? –

+0

基本上,是的。 –

+0

明白了,謝謝..我喜歡嘗試辛苦的方式哈哈,這是很奇怪的100 +行代碼我從來沒有聽說過有關createFromFormat或跑過它 –