Когда вы используете createFromFormat, вы создаете углеродный объект, как вы можете прочитать в документации с 2019-01-16 18:21:31 DateTime в Америке / Ванкувере часовом поясе
Но то, что вы на самом деле хотите сделать, - это преобразовать ваше время UTC в время Америки / Ванкувера.
Вам следует создать DateTime с часовым поясом UTC
$tz = $tt->created_at; // "2019-01-16 18:21:31" (UTC Time)
$date = Carbon::createFromFormat('Y-m-d H:i:s', $tz, 'UTC');
Таким образом, ваш объект DateTime находится в UTC , как ваша база данных, а затем преобразовать его в Америка / Ванкувер время
$date->setTimezone('America/Vancouver'); // "2019-01-16 10:21:31" (America/Vancouver Time)
select *
from mytable
where lastupdatedDate > sysdate - (10/1440)
Более понятная версия приведена Робом ван Вийком здесь https://stackoverflow.com/a/893668/39430
Или чуть более читабельно:
select *
from mytable
where lastupdatedDate > sysdate - interval '10' minute
select sysdate - 10/(24*60) from dual;
См. Пример выше, чтобы получить sysdate минус десять минут, теперь просто добавьте в свой запрос