Если чисто математически считать, то получится как-то так:
$offset = 3*3600;
$t = floor((time() + $offset) / 86400) * 86400 - $offset;
(применимо только в часовых поясах, не имеющих перехода на летнее время, иначе - придётся всё-таки использовать функции получения даты-времени)