Sto utilizzando l'ora CST nel mio sistema, dalla parte anteriore tramite javascript sto inviando la data odierna al controller di primavera. In primavera controller attraverso la richiesta param sto ottenendo la data e la conversione fino alla data attraverso l'annotazione @DateTimeFormat e ottengo la stessa data indietro alla vista che sto ottenendo la data esatta che cosa mi aspetto.Per quanto riguarda il problema della data in locale e server
Ma, quando eseguo il test attraverso l'ambiente di test distribuito nel server Amazon. Quando passo la data odierna e quando tento di ottenere la stessa data per il front end, la data è diversa. Ho scritto il codice che ho usato.
Javascript:
$http({
method : 'GET',
url : urlpath + '/getDate/',
params: {
date: new Date().toString("MM/dd/yyyy")
}
}).success(function(response) {
console.log("date is"+response)
}
del codice Java:
@RequestMapping(value = "/getdate", method = RequestMethod.GET)
public Date getdate(@RequestParam("date") @DateTimeFormat(pattern ="MM/dd/yyyy") throws Exception {
return date;
}
La data nella mia macchina locale è 2015/01/05 23:17 La dichiarazione console è Ven 1 Mag 2015 00:00 : 00 GMT-0500 (ora legale centrale) no hh mm e ss poiché ho ritagliato usando l'annotazione datetimeformat.
Nel mio ambiente di test che sto usando lo stesso codice, ma la console è Priting come di seguito gio apr 30, 2015 23:00:00 GMT-0500 (Central Daylight Time)
Qualcuno può inchiodare questo problema e dimmi il rootcause per questo problema.
Potrebbe essere a causa della differenza di fuso orario. Per la tua macchina locale, otterrà il fuso orario del tuo sistema. Ma quando si distribuisce in ambiente di test, otterrà la data di quel server. Il fuso orario di quel server potrebbe essere indietro di un'ora. –
Puoi correggere il tuo codice postato, '@DateTimeFormat (pattern = Date date)' e 'new Date(). ToString (MM/gg/aaaa)' sono - AFAIK - sintassi non valida –
Ti suggerisco di lavorare con 'Unix timestamps' e poi convertirli in date formattate. – infomaniac