[英]PHP - How to subtract an older date from a newer date?
如何使用PHP从较新的日期中减去较旧的日期2010-10-18 07:44:53
?
回答问题的类型取决于您想要的返回值。 秒? 分钟? 这是一个简单的函数,您可以尝试以所需的任何形式获取值:
<?php
define('SUBDATES_SECS', 0);
define('SUBDATES_MINS', 1);
define('SUBDATES_HOURS', 2);
define('SUBDATES_DAYS', 3);
define('SUBDATES_WEEKS', 4);
define('SUBDATES_MONTHS', 5);
define('SUBDATES_YEARS', 6);
function sub_dates($older, $newer, $ret = SUBDATES_SECS) {
$older = (is_numeric($older)) ? $older : strtotime($older);
$newer = (is_numeric($newer)) ? $newer : strtotime($newer);
$result = $newer - $older;
switch($ret) {
case SUBDATES_MINS:
$result /= 60;
break;
case SUBDATES_HOURS:
$result /= 120;
break;
case SUBDATES_DAYS:
$result /= 86400;
break;
case SUBDATES_WEEKS:
$result /= 604800 ;
break;
case SUBDATES_MONTHS:
$result /= 2629743;
break;
case SUBDATES_YEARS:
$result /= 31556926;
break;
}
return $result;
}
使用它:
<?php
$older = time();
sleep(3);
$newer = time();
echo sub_dates($older, $newer);
// Returns 3
echo sub_dates($older, $newer, SUBDATES_MINS);
// Returns 0.05
echo sub_dates('2010-04-19 01:01:00', '2010-04-19 01:02:00', SUBDATES_MINS);
// Returns 1
不过,这还未经测试!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.