[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Перевод времени в разные зоны
winrol
Всем пиривет. Вот такая проблема: сохраняю из текстого поля введенную дату, потом перевожу в unix и сохзраняю в бд, потом как перевожу в Europe/Kiev то отстает на 1 час , то есть по Europe/Moscow(по умолчанию) 19:00 а по Europe/Kiev - 18:00, а должно быть 15:00. Запись в бд:

if(preg_match('/^[0-9]{1,2}-[0-9]{1,2}\s[0-9]{1,2}\:[0-9]{1,2}$/i',$_POST['date'],$dateok)){
$validdate = '2013-'.$_POST['date'].':00';
$this->smarty->assign('validdate',prot($validdate));

}
//для подстраховки
ini_set('date.timezone', 'Europe/Kiev');

$time = new MyDateTime($validdate,1);
$t = strtotime($validdate);
$t = $t+60*60*2;

//my dateTime
$time->setIntTime($t);

$date = $time->getMatchFormat();


Методы:

public function getMatchFormat(){
ini_set('date.timezone', $this->zone);
$arr = array();
$time = $this->date->format('Y-m-d H:i:s');
$arr['start'] = strtotime($time);
$arr['datestart'] = $time;
return $arr;
}

public function setIntTime($time){
ini_set('date.timezone', $this->zone);
$this->date->setTimestamp($time);
}

Код вывода и преобразования:

//устанавливаю время из бд
$time->setIntTime($c[$i]['start']);
//сохраняю переобразованное
$v1 = $time->format('d-m-Y H:i:s');


Ну вот, вроде все норм, но мля не пашет корректно. Кто сталкивался или знает, прошу помощи.

_____________
Заработай легко - много видов проверенного заработка, как Wap та и Web.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.