public static function getDate($str = 'Now', $off = 0) { $config = CFactory::getConfig(); $mainframe = JFactory::getApplication(); $my = CFactory::getUser(); $cMy = CFactory::getUser(); $extraOffset = $config->get('daylightsavingoffset'); $date = new Jdate($str); $systemOffset = new JDate('now', $mainframe->getCfg('offset')); $systemOffset = $systemOffset->getOffsetFromGMT(true); if (!$my->id) { $date->setTimezone(new DateTimeZone(self::getTimezone($systemOffset + $extraOffset))); } else { if (!empty($my->params)) { $pos = JString::strpos($my->params, 'timezone'); $offset = $systemOffset + $extraOffset; if ($pos === false) { $offset = $systemOffset + $extraOffset; } else { $offset = $my->getParam('timezone', -100); $myParams = $cMy->getParams(); $myDTS = $myParams->get('daylightsavingoffset'); $cOffset = !empty($myDTS) ? $myDTS : $config->get('daylightsavingoffset'); if ($offset == -100) { $offset = $systemOffset + $extraOffset; } else { $offset = $offset + $cOffset; } } $date->setTimezone(new DateTimeZone(self::getTimezone($offset))); } else { $date->setTimezone(new DateTimeZone(self::getTimezone($systemOffset + $extraOffset))); } } return $date; }