Quote Originariamente inviata da francescolomba Visualizza il messaggio
Nei dati passati alla richiesta ho inserito data e ora nel formato "YYYY-mm-dd"Thh:mm:00.000+0000"

Una volta che la richiesta arriva lato java tuttavia vengono aggiunte due ore.
Precisa innanzitutto alcune cose: quale è il tipo di dato mappato? Un java.util.Date? O altro? E poi: il parsing viene fatto in modo completo cioè riconoscendo correttamente quel +0000 (che è l'offset dal UTC)?

Perché se hai quel formato, è "completo", perché c'è anche l'offset. Quindi se lo mappi in un java.util.Date è presumibilmente sicuramente corretto cioè rappresenta esattamente quell'istante. Il fatto che ti stampa +2 ore è solo per il fatto (ripeto, presumendo sia un java.util.Date) che il toString() di Date formatta la data nel fuso orario della tua macchina locale.
"Non vuol dire nulla" se non c'è un motivo valido per stamparlo in quel modo. Se è parsato correttamente, l'istante contenuto nel Date è corretto. Stop. Il resto è solo questione di come poi lo formatti (e con quale classe, es. SimpleDateFormat) e con/in quale TimeZone.

Se vuoi comprenderlo meglio, se io eseguo ora questo codice:
codice:
java.util.Date d = new java.util.Date();
System.out.println(d.toString());
System.out.println(d.getTime());

L'output che vedo in questo momento è:

Mon May 20 20:46:01 CEST 2019
1558377961842

Vedi che l'ora è quella locale di adesso (sono le 20 e 46). Ma se prendi l'istante (1558377961842) e lo metti su https://www.epochconverter.com noti che mostra GMT: Monday 20 May 2019 18:46:01.842

L'istante del tempo è in GMT mentre il toString() è nel fuso orario locale.
Quindi se per quella forma "YYYY-mm-dd"Thh:mm:00.000+0000" hai l'istante corretto mappato. Stop, è corretto.