-1

我有一个这样的 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

这个输出正确吗?

4

2 回答 2

2

不要使用 substr。

使用datestrtotime函数来执行此操作。

这样做: -

<?
$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;

参考现场演示

于 2012-06-12T09:47:29.383 回答
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)您将丢失任何前导零。

于 2012-06-12T09:50:05.873 回答