userID; $generalID = $session->generalID; $general = General::createObjFromDB($generalID); if ($userID != $general->getVar('owner')) { return '로그인 상태가 이상합니다. 다시 로그인해 주세요.'; } $db = DB::db(); $gameStor = KVStorage::getStorage($db, 'game_env'); [$turnTerm, $serverTurnTime] = $gameStor->getValuesAsArray(['turnterm', 'turntime']); $currTurnTime = new DateTimeImmutable($general->getTurnTime()); $serverTurnTimeObj = new DateTimeImmutable($serverTurnTime); $minTurnTime = $currTurnTime->add(TimeUtil::secondsToDateInterval($turnTerm * -30)); $maxTurnTime = $currTurnTime->add(TimeUtil::secondsToDateInterval($turnTerm * 30)); $timeDiff = $serverTurnTimeObj->diff($minTurnTime); $timeDiffSec = TimeUtil::DateIntervalToSeconds($timeDiff); if($timeDiffSec > 0){ $minTurnTime = $minTurnTime->add(TimeUtil::secondsToDateInterval($timeDiffSec)); $maxTurnTime = $maxTurnTime->add(TimeUtil::secondsToDateInterval($timeDiffSec)); } return [ 'result' => true, 'timeDiffSec' => $timeDiffSec, 'minTurnTime' => TimeUtil::format($minTurnTime, false), 'maxTurnTime' => TimeUtil::format($maxTurnTime, false), ]; } }