如果你仅仅是简单的对比,可以用两个时间戳相比较,除以86400就能得到天数只差,PHP的时间戳是以s为计量单位的,所以根据实际需要进行即可。
而你如果想要定义一个函数用于对比两个日期,则可以使用PHP的date_diff。
官方手册对于这个函数的说明地址是:https://www.php.net/manual/zh/function.date-diff.php
用户笔记排名第一的是这样记录的:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | owerful Function to get two date difference. ////////////////////////////////////////////////////////////////////// //PARA: Date Should In YYYY-MM-DD Format //RESULT FORMAT: // '%y Year %m Month %d Day %h Hours %i Minute %s Seconds'        =>  1 Year 3 Month 14 Day 11 Hours 49 Minute 36 Seconds // '%y Year %m Month %d Day'                                    =>  1 Year 3 Month 14 Days // '%m Month %d Day'                                            =>  3 Month 14 Day // '%d Day %h Hours'                                            =>  14 Day 11 Hours // '%d Day'                                                        =>  14 Days // '%h Hours %i Minute %s Seconds'                                =>  11 Hours 49 Minute 36 Seconds // '%i Minute %s Seconds'                                        =>  49 Minute 36 Seconds // '%h Hours                                                    =>  11 Hours // '%a Days                                                        =>  468 Days ////////////////////////////////////////////////////////////////////// function dateDifference($date_1 , $date_2 , $differenceFormat = '%a' ) {     $datetime1 = date_create($date_1);     $datetime2 = date_create($date_2);     $interval = date_diff($datetime1, $datetime2);     return $interval->format($differenceFormat); } | 
上面已经很直观的对函数的定义及输出约束进行了说明,值得注意的是,date_diff对比的两个参数必须是DateTime,如果不是,则需要用上面的date_create,或者new一个DateTime。
官方给了这样的对象化实例:
| 1 2 3 4 5 6 | <?php $origin = new DateTime('2009-10-11'); $target = new DateTime('2009-10-13'); $interval = $origin->diff($target); echo $interval->format('%R%a days'); ?> | 
输出的结果是+2 days。
可见,date_diff是有正负之分的,日期相差运算是两个参数中的后者减去前者。
但是,如果你希望数值只差是正数时不显示+号,只需要改%R的大写R为小写r即可。
以上,就是PHP中的date_diff详解,以及正负值的输出。
原创文章,作者:蓝洛水深,如若转载,请注明出处:https://blog.lanluo.cn/10720
 
                
 微信扫一扫
                                                            微信扫一扫                                                     支付宝扫一扫
                                                            支付宝扫一扫                                                     
             
             
            