Php 给出奇数结果的strotime
好吧,我希望有人能看到我的错误Php 给出奇数结果的strotime,php,strtotime,Php,Strtotime,好吧,我希望有人能看到我的错误 $date = "2015-02-4"; $schedule = strtotime('+1 month',$date); 出于某种原因,这是给我2680415作为结果,而不是1425488400,我想要的,但如果我这样做 $date = "2015-02-4"; $schedule = strtotime($date); 我得到了正确答案,即1422982800 $date实际上并不是这样分配的,它是添加到当前月份和年份的DB查询的结果。在调用strotim
$date = "2015-02-4";
$schedule = strtotime('+1 month',$date);
出于某种原因,这是给我2680415作为结果,而不是1425488400,我想要的,但如果我这样做
$date = "2015-02-4";
$schedule = strtotime($date);
我得到了正确答案,即1422982800
$date实际上并不是这样分配的,它是添加到当前月份和年份的DB查询的结果。在调用
strotime
时,您应该将+1个月
表达式附加到$date
中,而不是将它们作为单独的参数传递
date_default_timezone_set('Asia/Bangkok');
$date = "2015-02-4";
$schedule = strtotime($date);
echo "Original timestamp: ", $schedule, PHP_EOL;
echo "Original date: ", date("Y-m-d", $schedule), PHP_EOL;
$schedule = strtotime($date . ' +1 MONTH');
echo "+ 1 month timestamp: ", $schedule, PHP_EOL;
echo "+ 1 month date: ", date("Y-m-d", $schedule), PHP_EOL;
输出:
Original timestamp: 1422982800
Original date: 2015-02-04
+ 1 month timestamp: 1425402000
+ 1 month date: 2015-03-04
如前所述,
strotime
接受int
作为第二个参数。因此,在处理之前,应将字符串转换为时间戳:
$date = "2015-02-4";
$schedule = strtotime('+1 month', strtotime($date));
或者使用连接,如@mhall的答案所示。查找-您看到第二个参数了吗?第二个参数是int$now
。整数<代码>2015-02-4不是整数strotime($date.+1个月)
效果更好。