briannesbitt /两个日期之间的碳计数差异,并以适当的方式显示它们

时间:2015-10-06 18:20:59

标签: php datetime

我想计算两个日期之间的差异,这是有效的,但有一个函数来显示这样的格式:

  • 1个月
  • 1年
  • 4小时

等等,你知道我的意思。

或许,我禁止用户2小时,然后需要显示用户被禁止2小时。

通过计算过期时间和banned_at时间。

这就是我现在所拥有的:

date_diff(date_create(\Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $ban->banned_on)), date_create(\Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $ban->expire)))->format('d-m-y');

我该怎么做?

1 个答案:

答案 0 :(得分:0)

$bannedAt = '2015-10-05 10:00:00';
$banLength = 2;

$banTill = Carbon::parse($bannedAt)->addHours($banLength);
$now = Carbon::now();

// If now is less than or equal to banTill then remaining minutes is the difference between now and bantill. Else, the remaining minutes is 0
$remainingBanSeconds = $now->lte($banTill)?$now->diffInSeconds($banTill):0;

echo echo gmdate('H \h\o\u\r\s\, i \m\i\n\u\t\e\s \a\n\d s \s\e\c\o\n\d\s', $remainingBanSeconds);