Преобразование временной метки в временную метку относительно часового пояса в java

Я конвертирую метку времени одной зоны в другую зону. Я получаю длинное значение, такое же, как и временную метку источника, которую мы даем.

source Date--› originalDate=2019-01-09 12:00:42 IST, длинное значение источника---›1547015442000

Я получаю то же исходное длинное значение после установки даты в календаре.

Я использую выходное длинное значение, установленное в Object Node в Apache Kafka

Код:

TimeZone timeZone = TimeZone.getTimeZone("UTC");
TimeZone.setDefault(timeZone);

Calendar cal = GregorianCalendar.getInstance(timeZone);
cal.setTime(originalDate);

Calendar result = GregorianCalendar.getInstance(timeZone);
result.set(Calendar.YEAR, cal.get(Calendar.YEAR));
result.set(Calendar.MONTH, cal.get(Calendar.MONTH));
result.set(Calendar.DAY_OF_MONTH, cal.get(Calendar.DAY_OF_MONTH));
result.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY));
result.set(Calendar.MINUTE, cal.get(Calendar.MINUTE));
result.set(Calendar.SECOND, cal.get(Calendar.SECOND));
result.getTime();

long finalTimestamp = result.getTimeInMillis();

Мы будем очень признательны за любую помощь.
Заранее спасибо


person Saroj Kumar Gurram    schedule 21.03.2019    source источник