Date.today() fornisce date diverse su classi diverse
Queste sono le due classi che ho scritto:
aura:classe controller del componente
public class ResourcesComponentClass {
@AuraEnabled
public static void getDate(){
Datetime dateObj = Date.today();
System.debug(dateObj.date());
}
}
Riposo Classe di risorse
@RestResource(urlMapping='/AllHistory/*')
global class ExternalAllResourcesApi {
@HttpPut
global static String updateDateAndTime() {
Datetime dateObj = Date.today();
System.debug(dateObj.date());
}
}
Il primo è aura:component
la classe controller e il secondo è una Rest Resource
classe. Chiamo dateObj.date()
da entrambe le classi. Il problema è che il primo dateObj.date()
ritorna 2020-08-20
e il secondo ritorna 2020-08-21
, anche se la seconda lezione viene eseguita pochi minuti dopo la prima lezione. Allora, perché sta succedendo così?
Cosa devo fare se voglio le stesse date in entrambe le classi? A proposito, la data corrente è 2020-08-21
.
Risposte
Posso ipotizzare che quei due pezzi di codice siano eseguiti da due utenti diversi e che quegli utenti abbiano impostazioni di fuso orario diverse. Secondo la documentazione del metodo Date.today() :
Restituisce la data corrente nel fuso orario dell'utente corrente .
se vuoi ottenere il valore GMT di oggi, usa Datetime
la classe
Datetime.now().dateGMT();