在平常写项目的时候,不可避免的会用到时间计算。 如果只是简单的计算的话,只需要将时间字符串转换为时间戳然后对比即可。 但是如果需要计算具体的年月日时分秒的话,可以用日期对象来计算。
// 时间1
$date1 = strtotime('2018-10-01'); // 1538352000
// 时间2
$date2 = strtotime('2018-11-01'); // 1541030400
// 时间2 比 时间1多多少秒
$diff = $date2 - $date1; // 2678400
http://php.net/manual/zh/datetime.diff.php
// 出生日期
$birthday = new \DateTime('1996-10-11');
// 当前时间
$now = new \DateTime();
// 计算出生日期和当前时间的时间查
$interval = $birthday->diff($now);
var_dump($interval);
打印出来是以下信息
object(DateInterval)[18]
public 'y' => int 21 // 年
public 'm' => int 6 // 月
public 'd' => int 0 // 日
public 'h' => int 17 // 时
public 'i' => int 16 // 分
public 's' => int 2 // 秒
public 'weekday' => int 0
public 'weekday_behavior' => int 0
public 'first_last_day_of' => int 0
public 'invert' => int 0
public 'days' => int 7852 // 天数
public 'special_type' => int 0
public 'special_amount' => int 0
public 'have_weekday_relative' => int 0
public 'have_special_relative' => int 0
看上面的打印信息,就能看到很具体的时间了,而不用另外去计算
也就是说,生日至今,年龄是:21岁6个月17小时16分2秒
,7852
天