code: public static TimeZone getUserTimeZone()
      {
          TimeZone ret = null;
  
          // First try the configured timezone
          String tz = DEFAULT_TIMEZONE;
          ret = AppTimeZone.getTimeZoneById(tz);
          if(ret == null)
          {
              // Next try the locale timezone
              tz = System.getProperty("user.timezone");
  
              // Next try the default timezone
              if(tz == null || tz.length() == 0)
                  ret = TimeZone.getDefault();
              else if(tz.equals("GMT"))
                  ret = tzBST;                     // Use BST instead of GMT
              else
                  ret = TimeZone.getTimeZone(tz);  // Otherwise use the standard TZ
          }
  
          return ret;
      }
docs: Returns the current configured time zone.
  <P>
  Converts GMT to British Summer Time (BST) so that it uses Daylight Savings.
  @return The current configured time zone