;+ ;FUNCTION: time_zone_offset() ;PURPOSE: Returns timezone offset in hours. Will include any offset from daylight savings time ; ;Usage: ;IDL> print,time_zone_offset() ; -7 ; ;IDL> file_touch,somefile,systime(1),/mtime,toffset=time_zone_offset() ; ; $LastChangedBy: pcruce $ ; $LastChangedDate: 2014-02-06 17:49:56 -0800 (Thu, 06 Feb 2014) $ ; $LastChangedRevision: 14190 $ ; $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/misc/time/time_zone_offset.pro $ ;- function time_zone_offset local_time_string = systime() utc_time = systime(/sec,/utc) fields = strsplit(local_time_string,' ',/extract) months = strlowcase(['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']) date = fields[2] ;this is sometimes 1 character,sometimes 2, time_double will not choke on either format year = fields[4] month = string(where(strlowcase(fields[1]) eq months,c)+1,format='(I2.2)') time = fields[3] if c ne 1 then message,'Unexpected error detecting month' local_time = time_double(year+'-'+month+'-'+date+'/'+time) return, round((local_time-utc_time)/60./60.) end