2013-10-23 29 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或跑过它 –