Время не учитывает часовой пояс после первого события - PullRequest
0 голосов
/ 05 марта 2012

Мой скрипт, похоже, неправильно учитывает разницу часовых поясов после первого элемента в последовательности.

date_default_timezone_set('UTC');
$today = date("Ymd");
$query = "SELECT cal_name, cal_time, cal_description, cal_date FROM webcal_entry WHERE cal_date = " . $today;
mysql_select_db($dbname);
$result = mysql_query($query);
$body = '';
$mail = '';
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    $fixedTime = $row[1];
    while (strlen($fixedTime) < 6)
        $fixedTime = '0' . $fixedTime;
    $unixEpoch = strtotime($fixedTime);
    date_default_timezone_set('America/Denver');
    $formattedTime = date("H:i", $unixEpoch);
$mail .= sprintf("Event: %s \nTime: %s \nDesc: %s \n\n", $row[0], $formattedTime, $row[2]);
}
mysql_free_result($result);

Вот сравнительный пример получения 2 писем, которые я получаю:

Это правильно ...

<<<<<<<<<< >>>>>>>>>>

Ваши события сегодня: 2012-03-03

Событие: Джонас Е из Л Рех
Время: 17:55
Описание: Театр Капитолия

<<<<<<<<<< >>>>>>>>>>

Этот не ...

<<<<<<<<<< >>>>>>>>>>

Ваши события сегодня: 2012-03-04

Событие: поездка
Время: 17:00
Описание: тур

Событие: Йонас Е Лерех
Время: 00:55
Описание: Театр Капитолия

<<<<<<<<<< >>>>>>>>>>

Обратите внимание, что один элемент в первом письме и второй элемент во втором должны совпадать по времени в обоих письмах, хотя второй не учитывает разницу во времени по сравнению с UTC на -7;кажется, что это прибавление 7 часов или вычитание 17. Первый элемент в любом письме всегда отформатирован правильно.

Я новичок в php sql, но я думаю, что это должен быть простой пропущенный цикл или что-то в этом роде.Любой вклад приветствуется.Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...