PHP子串输出有2个参数

时间:2012-06-12 09:39:15

标签: php php-5.3

我有这样的PHP代码,我的输出是正确的?日期格式是(YY / MM / DD)

年月&日期格式>> 120924(就像2012/09/24)

        $yearchk=(int)substr($date,0,4);
        $monthchk=(int)substr($date,5,2);
        $daychk=(int)substr($date,8,2);

在这里有一个子串。这个输出在子串中是正确的。

My Yearchk output > 12
my monthck output > 09
my daychk  output > 24

这个输出是否正确?

2 个答案:

答案 0 :(得分:2)

不要使用substr。

使用日期 strtotime 功能来执行此操作。

这样做: -

<?
$userdate = "2012/09/24";
$y = date('Y',strtotime($userdate));
$m = date('m',strtotime($userdate));
$d = date('d',strtotime($userdate)); 

echo 'Year: ' . $y . ' Month: ' . $m . ' Date: ' . $d;

参考 LIVE DEMO

答案 1 :(得分:1)

不,你没有得到substr()正确的论据。这可行:

$date = '120924';

$yearchk=(int)substr($date,0,2);
$monthchk=(int)substr($date,2,2);
$daychk=(int)substr($date,4,2);

// $yearchk  -> 12
// $monthchk -> 9
// $daychk   -> 24

请注意,当您将它们投射为(int)时,您将失去任何前导零。