我有这样的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
这个输出是否正确?
答案 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)
时,您将失去任何前导零。