CakePHP 5 – app.php

'App' => [
    'defaultTimezone' => 'UTC',
    // ...
],

// wyświetlanie
$date->i18nFormat('yyyy-MM-dd HH:mm', 'Europe/Warsaw');

// W kontrolerze lub widoku
$date->i18nFormat('yyyy-MM-dd HH:mm', 'Europe/Warsaw');

// Lub globalnie dla użytkownika
Time::setDefaultLocale('pl_PL');
Time::setToStringFormat('yyyy-MM-dd HH:mm:ss');
// Zapisujesz w UTC (automatycznie przez CakePHP)
$project->finish_date = new FrozenTime('2025-02-06 15:30:00', 'Europe/Warsaw');
// W bazie: 2025-02-06 14:30:00 (UTC)

// Wyświetlasz w Europe/Warsaw
echo $project->finish_date->i18nFormat('yyyy-MM-dd HH:mm', 'Europe/Warsaw');
// Pokaże: 2025-02-06 15:30