Can SAS convert time from EST to GMT accounting for daylight saving? Or do I have to incorporate daylight saving days manually?
Thanks a lot in advance!
Here is a helpful link:
http://listserv.uga.edu/cgi-bin/wa?A2=ind0711a&L=sas-l&P=8219
data _null_;
gmt = '20:05:09't;
est = gmt - (4*60*60);
pst = gmt - (7*60*60);
format _all_ time.;
put _all_;
run;
and here is another discussion:
Thanks. I saw this link earlier too. But it seems to work for daylight saving time only, in other cases we need to have est = gmt - (5*60*60) . I was wondering whether SAS can automatically identify days with DST.
from quickly scanning the internet, it seems that there is no automatic way to calculate it.
😐
This seems close but you will need "date time".
DN gave a great response... Daylight savings time is not some difficult unknown. It occurs on the between then 2nd Sunday of March and the 1st Sunday of November, at 2:00am...
Another way to check could be to use the TimeZone class
proc groovy classpath=cp;
submit parseonly;
class DST {
static boolean isDst(String tmz) {
return TimeZone.getTimeZone(tmz).inDaylightTime(new Date())
}
}
endsubmit;
run;
data test;
declare javaobj j('DST');
j.callStaticBooleanMethod('isDst',"EST",is_dst);
put is_dst=;
run;
is_dst=0;
est = gmt - ((5-(1*is_dst))*60*60);
Here is a file that contains timezone by zipcode, including whether dst is used in each zipcode. And, since its timezones are already shown as difference from GMT, you only need to code whether to add the hour or not based on the date. PS: its free!:
I don;t know
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.