Example #1
0
 public static function getTimezone()
 {
     if (($timezone = self::getEnv("envTimezone")) === null) {
         try {
             $mmdb = array_reverse(glob(Config::$geoip . "GeoLite2-City*.mmdb"))[0];
             $reader = new \GeoIp2\Database\Reader($mmdb);
             $ip = Request::getIp();
             $record = $reader->city($ip);
             $timezone = $record->location->timeZone;
             self::setTimezone($timezone);
         } catch (\Exception $e) {
             Logger::instance()->logError($e->getMessage());
             self::setTimezone(Config::$defaultTimezone);
         }
     }
     return new \DateTimeZone($timezone);
 }