Isn't EST take into account DST?
No. By Definition EST is "Eastern Standard Time" Or UTC-5:00.
EDT is "Eastern Daylight Time" Or UTC-4:00.
It's a bit confusing, because for example, New York switches between EST and EDT, and Seattle switches between PST and PDT.
Sometimes people will say incorrectly "I'll call you 1pm EST" when they actually mean to say, " I'll call you 1pm Eastern time" which properly takes into account whether or not it's Daylight Savings.
This wikipage has a little more information.
why is getRawOffset returning 5 instead of 4
Timezone.getRawOffset always returns the number of milliseconds for standard time, which is 5 * (60 * 60 * 1000)
Since the UTC Offset changes based of the day of the year (to account for DST), you'll need to use getOffset, and supply it the date you want to use.