getTime
public long getTime()Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this Date object.
Returns:
the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this date.
using get time returns the number of milliseconds since the epoch in GMT.
So your code returns 21:30 in my EST timezone.
How bout something like this?