Salesforce Apex – Format de date

Salesforce Apex Format De Date



Le suivi des détails des clients dans Comptes/Contacts est très important dans la gestion de la relation client (CRM). En fonction de la date, tous les processus tels que l'achat, le devis et l'entretien se produisent. Voyons comment créer la date à partir d'une chaîne dans Salesforce et convertir la date en chaîne. Dans le cadre de ce tutoriel, nous verrons également les méthodes qui s'appliquent sur la date formatée comme l'ajout de jours, d'années, de mois, etc., avec des exemples.

Classe de date d'apex

La classe Date prend en charge toutes les méthodes de date qui sont primitives. Il utilise l'espace de noms 'System'. Nous pouvons utiliser la méthode valueOf() de cette classe pour convertir la chaîne en un format de date. Après avoir formaté la date, nous appliquons certaines méthodes pour ajouter les jours, mois, années, etc., à cette date formatée en utilisant certaines méthodes également disponibles dans cette classe de date.







Tout d'abord, nous verrons comment convertir la chaîne en date à l'aide de la méthode valueOf() dans Salesforce Apex.



Date.valueOf()

Le valueOf () dans Apex est disponible dans la classe 'Date' qui prend la chaîne comme argument qui convertit la chaîne spécifiée au format de date. La chaîne d'entrée (paramètre) comprend trois attributs : année, mois et jour. Tous ces trois éléments sont combinés/concaténés et transmis à la méthode.



Syntaxe : ValueOf()

Comme déjà mentionné, nous devons déclarer une variable de la classe 'Date' et lui transmettre la chaîne.





Date date_variable= date.valueOf(string_date_format);

Exemple:

Étape 1:

Prenons une chaîne qui contient 'Année-Mois-Jour'.

// Déclarer l'année, le mois et le jour un par un

Chaîne Année = '2023' ;

Chaîne Mois = '4' ;

Chaîne Jour = '5' ;

// Les concaténer tous dans une chaîne

Chaîne string_type = Année + '-' + Mois + '-' + Jour ;

system.debug(string_type);

Sortir:



Étape 2:

Maintenant, convertissez la chaîne 'Date' précédente en 'Date' à l'aide de la méthode valueOf() de la classe Apex 'Date'.

// Convertit la chaîne-Date en Date

Date convert_date = date.valueOf(string_type);

system.debug(converted_date);

Sortir:

Nous pouvons voir qu'après la conversion en 'Date', il renvoie automatiquement la date au format DateTime. Il ne prendra pas en compte l'heure (heures : minutes : secondes) même si vous les transmettez à la méthode valueOf(). Le format renvoyé est AAAA-MM-JJ HH:MM:SS.

Convertir la date en chaîne

Il existe deux manières de convertir la 'Date' en 'Chaîne'. Une méthode prise en charge par Apex consiste à utiliser la méthode format(). L'autre méthode consiste à extraire manuellement les attributs 'Date' (année, mois et jour) et à les concaténer dans une chaîne. Regardons-les un par un.

1. Formater()

La méthode format() est disponible dans la classe « Date » dans Apex qui convertit la « Date » en chaîne au format « M/D/YYYY ». Nous pouvons également passer le format spécifié en tant que paramètre à cette méthode. Le format spécifié est le format par défaut.

Syntaxe:

input_date.format('format_type')

Exemple:

Considérons l'exemple précédent et reconvertissons la 'Date' en 'String' en utilisant la méthode format (). Nous ne fournissons aucun format spécifique à la méthode format().

// Déclarer l'année, le mois et le jour un par un

Chaîne Année = '2023' ;

Chaîne Mois = '4' ;

Chaîne Jour = '5' ;

// Les concaténer tous dans une chaîne

Chaîne string_type = Année + '-' + Mois + '-' + Jour ;

// Convertit la chaîne-Date en Date

Date convert_date = date.valueOf(string_type);

system.debug(converted_date);

// formater()

system.debug(converted_date.format());

Sortir:

2. Utilisation de la méthode de classe de date

Dans ce scénario, nous extrayons l'année, le mois et le jour séparément de la « Date » à l'aide des méthodes disponibles dans la classe Apex « Date ». Ensuite, nous concaténons ces trois éléments pour renvoyer la 'Date' au format 'String'.

  1. jour() – Cette méthode permet d'extraire la date de la « Date ». Il renvoie l'entier qui spécifie la date.
  2. mois() – Cette méthode permet d'extraire le mois de la « Date ». Il renvoie l'entier qui spécifie le numéro du mois. Nous pouvons nous référer à janvier comme 1, février comme 2…. décembre comme 12.
  3. année() – Cette méthode est utilisée pour extraire l'année de la « Date ». Il renvoie l'année dans un format à quatre chiffres.

Syntaxe:

date_entrée.année() + '-' + date_entrée.mois() + '-' + date_entrée.jour()

Exemple:

Reconvertissez la 'Date' en 'Chaîne' au format 'AAAA-M-J'.

// Déclarer l'année, le mois et le jour un par un

Chaîne Année = '2023' ;

Chaîne Mois = '4' ;

Chaîne Jour = '5' ;

// Les concaténer tous dans une chaîne

Chaîne string_type = Année + '-' + Mois + '-' + Jour ;

// Convertit la chaîne-Date en Date

Date convert_date = date.valueOf(string_type);

system.debug(converted_date);

// Convertit la date en chaîne

system.debug(date_convertie.année() + '-' + date_convertie.mois() + '-' + date_convertie.jour());

Sortir:

Exemples pratiques :

Voyons comment mettre à jour la 'Date', comme ajouter des jours, des années et des mois à la date existante dans les objets Salesforce. Les trois méthodes prennent l'entier 'n' comme argument.

1. ajouterJours()

Pour ajouter des jours à la date existante, Apex prend en charge la méthode addDays() qui est disponible dans la classe « Date ».

2. ajouterMois()

Pour ajouter des mois à la date existante, Apex prend en charge la méthode addMonths() qui est disponible dans la classe « Date ».

3. ajouterAnnées()

Pour ajouter des années à la date existante, Apex prend en charge la méthode addYears() qui est disponible dans la classe « Date ».

Syntaxe:

Examinons la syntaxe de ces trois méthodes. Ici, 'n' correspond à la valeur entière.

  • input_Date.addDays(n)
  • input_Date.addMonths(n)
  • input_Date.addYears(n)

Avant de passer à l'exemple, considérez ce qui suit :

  1. Connectez-vous à Salesforce et accédez au 'Lanceur d'applications' et recherchez 'Campagne' dans l'onglet. Ici, nous insérons le 'Nom de la campagne' et la 'Date de fin'.

  1. Choisissez 'Campagnes' et cliquez sur 'Nouveau'.

  1. Une popup apparaît pour insérer les données dans la campagne. Ajoutez 'Linux Hint Posts' sous le 'Nom de la campagne' et définissez la 'Date de fin' sur 05/04/2023. Ensuite, cliquez sur 'Enregistrer'.

Nous sommes prêts avec le dossier. (Type - Conférence et Statut - Planifié viendront automatiquement. Laissez cela). Ouvrons la fenêtre anonyme dans la console développeur.

Exemple 1:

Utilisons la méthode addDays() pour ajouter 10 jours à la 'Date de fin' existante dans l'objet 'Campagne'.

  1. Pour ce faire, nous devons d'abord utiliser la requête SOQL pour obtenir l'enregistrement de l'objet 'Campagne' et stocker cet enregistrement dans un objet 'Liste'.
  2. Ensuite, nous utilisons la boucle 'for' pour parcourir la liste et utilisons la méthode addDays() pour ajouter 10 jours à la 'Date de fin'.
  3. Enfin, nous utilisons l'instruction 'update DML' pour mettre à jour la 'Date de fin' dans l'objet 'Campagne'.
// Renvoie le nom et la date de fin de la campagne à l'aide de SOQL

List query1 = [SELECT Name,EndDate FROM Campaign WHERE Name = 'Linux Hint Posts'] ;

// Ajouter 10 jours à EndDate en utilisant la méthode addDays()

for(Campagne i : requête1){

i.EndDate = i.EndDate.addDays(10);

}

// Utilisez update DML pour mettre à jour EndDate

mettre à jour la requête 1 ;

system.debug(query1);

Sortir:

La « date de fin » précédente est le 5 avril. Après avoir ajouté 10 jours, la 'date de fin' est maintenant le 15 avril.

Nous pouvons également vérifier dans l'onglet 'Campagne'. Revenez en arrière et actualisez la page. Vous pouvez voir que la 'Date de fin' est mise à jour.

Exemple 2 :

Utilisons la méthode addMonths() pour ajouter 3 mois à la 'Date de fin' existante.

// Renvoie le nom et la date de fin de la campagne à l'aide de SOQL

List query1 = [SELECT Name,EndDate FROM Campaign WHERE Name = 'Linux Hint Posts'] ;

system.debug('Réel : '+query1);

// Ajouter 3 mois à EndDate en utilisant la méthode addMonths()

for(Campagne i : requête1){

i.EndDate = i.EndDate.addMonths(3);

}

// Utilisez update DML pour mettre à jour EndDate

mettre à jour la requête 1 ;

system.debug('Mise à jour : '+query1);

Sortir:

Le mois précédent dans la 'Date de fin' est avril. Après avoir ajouté 3 mois, nous sommes maintenant en juillet.

Exemple 3 :

Utilisons la méthode addYears() pour ajouter 3 ans à la 'Date de fin' existante.

// Renvoie le nom et la date de fin de la campagne à l'aide de SOQL

List query1 = [SELECT Name,EndDate FROM Campaign WHERE Name = 'Linux Hint Posts'] ;

system.debug('Réel : '+query1);

// Ajouter 3 ans à EndDate en utilisant la méthode addYears()

for(Campagne i : requête1){

i.EndDate = i.EndDate.addYears(3);

}

// Utilisez update DML pour mettre à jour la EndDate

mettre à jour la requête 1 ;

system.debug('Mise à jour : '+query1);

Sortir:

Après avoir ajouté 3 ans à la 'Date de fin', l'année mise à jour est 2026.

Conclusion

Le formatage de la date dans Salesforce Apex est assez simple. Dans le cadre de ce didacticiel, nous avons appris à convertir la 'Date' du format 'String' en 'Date' à l'aide de la méthode valueOf() disponible dans la classe Apex 'Date'. Si vous souhaitez reconvertir la date en chaîne, nous utilisons les attributs format() et date comme day(), month() et year(). Enfin, nous avons terminé ce guide en discutant de l'opération DML sur l'objet 'Campaign' de Salesforce pour mettre à jour la 'Date de fin' à l'aide des méthodes addDays(), addMonths() et addYears() avec des exemples séparés.