Ideally, nothing should take care of your server side timezone, including your server. Server location is unlikely to be of any use to businesses, and it can be very useful to be able to run servers wherever you want.
Instead, you need to figure out what your user interface is. Is this a local date and time that is actually a timezone neutral? Is it โjust a dateโ that will again be neutral in the time zone? Is this a specific point in time (for example, when did a particular phone call occur, regardless of where it occurred)? (There are more options, but they are the most common.)
Once you have determined what your data really means, you can find the right way to pass this to the server (you did not tell us anything about it), and then how to present it to the server. Your server-side code will become much clearer if you use Joda Time instead of the built-in classes java.util.Date and java.util.Calendar ... you can imagine each of the above concepts with a suitable Joda time type.
As I said, the first thing to reset is the idea that you really have to work in the serverโs time zone - or at least you have to justify this as an extremely unusual and potentially expensive solution.
source share