示例#1
0
文件: time.php 项目: Jougito/DynWeb
 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;
 }