We have addressed such problems before and, frankly, instead of playing with trying to serialize Dates - IMO, the best solution (if you don't want to automatically change the time zone) is to simply pass date data types as strings. We do this using Java and ActionScript getters / seters, which (correctly) set serialized "date" objects in our DTO by parsing uncorrected date strings.
Ex. when you set the value of a Date object, in the setter, you convert Date to String and set the String field for that date. In getter, you get the String value for this date and parse it by returning a new Date object. Do this on the server and client side.
The only minor caveat, obviously, is that you need to ensure that the Flex and String-to-Date / Date-To-String server functions use the same date format. Just add a good comment explaining this (so no one pinches it) next to your date / format parsers, and you're fine.
I expect this problem to probably disappear after the release of the HTML5-based Flex compiler (this is really just a Flash function that is not the desired behavior in our cases).
source share