Use WordPress’s
current_time( 'timestamp' )
if you need to get a time that’s adjusted for the site’s timezone setting in the admin area.
If you need to work with the timezone offset:
get_option( 'gmt_offset' )
Please don’t use date_default_timezone_set(). The timezone in PHP needs to stay GMT+0 as that’s what WordPress expects it to be. WordPress.com Stats and other features are dependent on this, and will break in wild ways if you adjust the timezone.