在平常写项目的时候,不可避免的会用到时间计算。
如果只是简单的计算的话,只需要将时间字符串转换为时间戳然后对比即可。
但是如果需要计算具体的年月日时分秒的话,可以用日期对象来计算。

普通简单计算

// 时间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

标签: none

添加新评论