JsonObject mc = new JsonObject();
mc.put("received", new JsonObject().put("$date", ZonedDateTime.now(ZoneOffset.UTC).format(DateTimeFormatter.ISO_OFFSET_DATE_TIME)));
mc.put("reqId", mcMessage.getID());
mc.put("sesId", mcMessage.getSetSesID().toString());
mc.put("rptId", mcMessage.getRptID());
<BUG>ZonedDateTime txnTmInFrankfurtZone = ZonedDateTime.ofInstant(mcMessage.getTxnTm().toGregorianCalendar().toInstant(), ZoneId.of("Europe/Paris"));
mc.put("txnTm", new JsonObject().put("$date", txnTmInFrankfurtZone.withZoneSameInstant(ZoneOffset.UTC).format(DateTimeFormatter.ISO_OFFSET_DATE_TIME)));
</BUG>
mc.put("bizDt", mcMessage.getBizDt().toGregorianCalendar().toZonedDateTime().format(DateTimeFormatter.ISO_LOCAL_DATE));
mc.put("clss", mcMessage.getClss());

JsonObject mc = new JsonObject();
mc.put("received", new JsonObject().put("$date", ZonedDateTime.now(ZoneOffset.UTC).format(DateTimeFormatter.ISO_OFFSET_DATE_TIME)));
mc.put("reqId", mcMessage.getID());
mc.put("sesId", mcMessage.getSetSesID().toString());
mc.put("rptId", mcMessage.getRptID());
GregorianCalendar txnTmInFrankfurtZone = mcMessage.getTxnTm().toGregorianCalendar();
txnTmInFrankfurtZone.setTimeZone(TimeZone.getTimeZone("Europe/Paris"));
mc.put("txnTm", new JsonObject().put("$date", txnTmInFrankfurtZone.toZonedDateTime().withZoneSameInstant(ZoneOffset.UTC).format(DateTimeFormatter.ISO_OFFSET_DATE_TIME)));
mc.put("bizDt", mcMessage.getBizDt().toGregorianCalendar().toZonedDateTime().format(DateTimeFormatter.ISO_LOCAL_DATE));
mc.put("clss", mcMessage.getClss());
