Since ICU keeps its own copy of the time zone data we have to replace that as well (according to Google AOSP team) .
The updated data files are Update for ICU and Update for bionic However, I when I build and replace the the icu4c libraries (libicui18and libicuuc.so) and replace icudt51with icudt53l.dat, the system cannot initialize ICU.
I deleted dalvik-cache and now it shows GMT 3, never thought about this earlier.
Do you know which system calls depend on the ICU though?
Updated the tzdata for offline installation to the latest (2012j).