Is the problem the fact that you want to see the current time in UTC milliseconds on both server and client at the same time? If this is the case calling System.currentTimeMillis() should return the same value (both in the US and India if called at the same time).
If that's not it, maybe you might want to pass a timezone into the GregorianCalendar, like this:
GregorianCalendar cal1 = new GregorianCalendar(TimeZone.getTimeZone("US/Pacific"))
Maybe you can detail the problem a bit if it persists?