1 回答

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超9個(gè)贊
您的日期中沒有時(shí)區(qū)信息,因此我假設(shè)數(shù)據(jù)庫中的日期與服務(wù)器位于同一時(shí)區(qū)。
使用 DateTime 的 add() 方法將 api 中的時(shí)間作為 DateInterval 添加到其中,然后與當(dāng)前時(shí)間進(jìn)行比較以獲得結(jié)果。
<?php
$timestamp = '2020-07-24 21:24:27';
$timeout = '00:03:47';
function isExpired(string $timestamp, string $timeout): bool {
$timestampDate = new DateTime($timestamp);
$timeoutParts = explode(':', $timeout);
$timestampDate->add(new DateInterval(sprintf('PT%sH%sM%sS', $timeoutParts[0], $timeoutParts[1], $timeoutParts[2])));
return $timestampDate < new DateTime();
}
// now for me is 2020-07-24 20:37:00
var_dump(isExpired($timestamp, $timeout)); // false
var_dump(isExpired('2020-07-24 20:00:00', '01:00:00')); // false
var_dump(isExpired('2020-07-24 19:00:00', '01:00:00')); // true
var_dump(isExpired('2020-07-23 19:00:00', '12:00:00')); // true
var_dump(isExpired('2020-07-25 19:00:00', '12:00:00')); // false
- 1 回答
- 0 關(guān)注
- 152 瀏覽
添加回答
舉報(bào)