Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Преобразователь времени

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
alxfro
Отправлено: 17 Июля, 2012 - 11:47:42
Post Id



Частый гость


Покинул форум
Сообщений всего: 208
Дата рег-ции: Июль 2011  


Помог: 0 раз(а)




Задача.
Функция перевода времени в формате XX:YY (например 08:00) с указанием GMT параметра (например, +3 или -11), к примеру

$x = time_get('20:00','+7');

вот получить тот самый икс, он должен быть вида xx:yy
 
 Top
EuGen Администратор
Отправлено: 17 Июля, 2012 - 11:54:48
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Вот вариант из кода одного из проектов.
PHP:
скопировать код в буфер обмена
  1. protected function _convert_tz($sDate, $sFormat='Y-m-d H:i:s')
  2. {
  3.     date_default_timezone_set(self::TIMEZONE_LOCAL_VALUE);
  4.     $sTzLocal   = date('Z');
  5.     date_default_timezone_set(self::TIMEZONE_REMOTE_VALUE);
  6.     $sTzRemote  = date('Z');
  7.     $iOffset    = (int)(($sTzRemote-$sTzLocal)/3600);
  8.     $sOffset    = $iOffset<=0?$iOffset:'+'.$iOffset;
  9.     date_default_timezone_set(self::TIMEZONE_LOCAL_VALUE);
  10.     return date($sFormat, strtotime($sDate.' '.$sOffset.' hour'));
  11. }

- на входе нет параметра, описанного Вами, так как задача немного неточна - нужно знать, в какой временной зоне интерпретировать входную дату, а не только выходную. Так что константы self::TIMEZONE_REMOTE_VALUE и self::TIMEZONE_LOCAL_VALUE можете заменить на параметры. А можете, к примеру, self::TIMEZONE_LOCAL_VALUE оставить (приняв его равным GMT+04 - московскому времени) - и тогда да, останется задавать только параметр выходной временной зоны.
Ну а чтобы получать в виде XX:YY - достаточно указать соответствующий $sFormat


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB