Кто ещё использует Denwer, наверняка сталкивался с такой проблемой - зона "Europe/Moscow" определяется как GMT+4. Проверить это можно следующим образом:
date_default_timezone_set('Europe/Moscow');
$utc_offset = date('Z') / 3600;
echo $utc_offset;
Как же это исправить? Смотрим phpinfo() и видим следующее:
date/time support enabled
"Olson" Timezone Database Version 2012.3
Timezone Database internal
Default timezone UTC
Стоит погуглить "Olson Timezone Database" и вы найдёте это:
https://pecl.php.net/package/timezonedb
Качайте отсюда DLL последней версии под вашу версию PHP. Если у вас Windows x64, а DLL есть только x86, качайте её, она тоже будет работать. Далее запихиваем php_timezonedb.dll в папку DENWERusrlocalphp5ext. А в php.ini, в блок Dynamic Extensions добавляем строчку:
extension=php_timezonedb.dll
Также рекомендую скачать часовые пояса для MySQL:
https://dev.mysql.com/downloads/timezones.html
Архив надо распаковать в папку DENWER/usr/local/mysql-5.5/data/mysql
После всех манипуляций, не забудьте перезапустить Денвер.