- date_default_timezone_set: documentation ( source)
<?php
// set to UTC
date_default_timezone_set('UTC');
$bratislavaTimezone = new DateTimeZone('Europe/Bratislava');
$utcTimezone = new DateTimeZone('UTC');
$now = new DateTime();
$now->setTime(23, 59, 59);
echo $now->format("Y-m-d H:i:s\n");
$bratislava = clone $now;
$bratislava->setTimezone($bratislavaTimezone);
echo $bratislava->format("Y-m-d H:i:s\n");
$start = (clone $bratislava)->setTime(0, 0, 0);
$end = (clone $bratislava)->setTime(23, 59, 59);
echo $start->format("Y-m-d H:i:s\n");
echo $end->format("Y-m-d H:i:s\n");
// convert back to UTC
$start->setTimezone($utcTimezone);
$end->setTimezone($utcTimezone);
echo $start->format("Y-m-d H:i:s\n");
echo $end->format("Y-m-d H:i:s\n");