Date.today() donne des dates différentes sur différentes classes
Ce sont les deux classes que j'ai écrites:
aura:classe de contrôleur de composant
public class ResourcesComponentClass {
@AuraEnabled
public static void getDate(){
Datetime dateObj = Date.today();
System.debug(dateObj.date());
}
}
Classe de ressources de repos
@RestResource(urlMapping='/AllHistory/*')
global class ExternalAllResourcesApi {
@HttpPut
global static String updateDateAndTime() {
Datetime dateObj = Date.today();
System.debug(dateObj.date());
}
}
Le premier est aura:componentla classe du contrôleur et le second est une Rest Resourceclasse. J'appelle dateObj.date()des deux classes. Le problème est que le premier dateObj.date()revient 2020-08-20et que le second revient 2020-08-21, même si la deuxième classe est exécutée quelques minutes après la première classe. Alors, pourquoi ça se passe comme ça ?
Que dois-je faire si je veux les mêmes dates dans les deux cours ? Au fait, la date actuelle est 2020-08-21.
Réponses
Je peux faire l'hypothèse que ces deux morceaux de code sont exécutés par deux utilisateurs différents, et que ces utilisateurs ont des paramètres de fuseau horaire différents. Selon la documentation de la méthode Date.today() :
Renvoie la date actuelle dans le fuseau horaire de l'utilisateur actuel .
si vous voulez obtenir la valeur actuelle de GMT, utilisez Datetimela classe
Datetime.now().dateGMT();