Como pegar a data no passado?

Olá, eu tenho um script que compara a data atual com uma data 1 minuto no futuro.

 $_SESSION['waterhour'] = new DateTime();
    echo $_SESSION['waterhour']->format('Y-m-d H:i:s') . "<BR>";
    $_SESSION['waterhourplus'] = new DateTime('+1 minutes');
     echo $_SESSION['waterhourplus']->format('Y-m-d H:i:s');

A data futura será salva no banco de dados do usuário e será comparada com a data atual aqui…

if ($_SESSION['timewater'] == $_SESSION['waterhour']) {
            $objUpWater = new Resources();
            $objUpWater->WaterUpdate();
        }

(Nesse update é realizada a atualização da hora novamente com a data com +1 minuto)

Mas ela só compara quando o usuário atualiza a página e tals… Como fazer para pegar a data que se passou caso o usuário não atualize a página a cada 1 minuto, por exemplo, se o usuário ficar 5 minutos sem atualizar a página a data salva no banco de dados(que é a atual +1 minuto) ficará -4 minutos, tem como pegar esses -4 minutos para saber quanto tempo se passou?

Minha opinião é que você vá um pouco além do PHP, entrar no jQuery por exemplo. Minha sugestão:

<script>
$(document).ready(function() {
  setInterval(function() {
    verificaSessaoPhp();
  }, 60000); // executa a função verificaSessaoPhp a cada 60 segundos
});

function verificaSessaoPhp() {
  $.post('verifica_sessao.php', function(retornoJson) { // envia um POST para o arquivo verifica_sessao.php que retorna um json com a ação que você deseja
    if (retornoJson.variavelAcao == 'fazerAlgo') {
      // executa aqui o que você precisa
    }
  }, 'json');
}
</script>