P粉7879344762023-08-17 00:27:41
The
date_*()
functions and date()
are part of two different date library APIs, confusingly. The object-oriented version of the date_*()
functions clarifies this to some extent and is also a more powerful library. For example:
$usersyear = 2001;
$usersmonth = 1;
$usersday = 1;
$takedate = new DateTime("$usersyear-$usersmonth-$usersday");
$today = new DateTime('today');
$diff = $today->diff($takedate);
var_dump($diff, $diff->y);
Output:
object(DateInterval)#3 (10) { ["y"]=> int(22) ["m"]=> int(7) ["d"]=> int(15) ["h"]=> int(0) ["i"]=> int(0) ["s"]=> int(0) ["f"]=> float(0) ["invert"]=> int(1) ["days"]=> int(8262) ["from_string"]=> bool(false) } int(22)
Reference:https://www.php.net/manual/en/book.datetime.php