Просто немного пищи для размышлений, вы можете отправить текущее время в миллисекундах или нано на сервер, которое будет 64 или 8 байтов, в отличие от отправки строки переменной длины, сопровождаемой часами выключения зоны с использованием другого байта, или несколько бит, если вы действительно хотите.
Также, как упомянул другой пользователь, вы можете создать ZoneOffset, используя ZoneOffset # ofHours и другие полезные фабричные методы.
ZoneOffset offset = ZoneOffset.ofHours(6);
Пример того, как преобразовать в ZonedDateTime
int offsetHours = 6; // receive from client
long millis = System.currentTimeMillis(); // received from client
ZoneOffset offset = ZoneOffset.ofHours(offsetHours);
ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(Instant.ofEpochMilli(millis), offset);