You're currently returning a java.util.Date
- that doesn't have a time zone. It's just an instant in time. It's not in your time zone, or some other time zone - it's just an instant. When you call toString()
, that will give you a textual representation in your local time zone, but that's not part of the data in the object.
If you need to represent "a date/time in a particular time zone" then you should use the Calendar
class, or ideally use Joda Time which is a much better date/time API.
Alternatively, if you're just trying to format the date/time in a particular time zone, you can use SimpleDateFormat
- set the time zone, and then format the Date
value you're already returning.