Salesforce Apex - Formato della data

Salesforce Apex - Formato della data

Il monitoraggio dei dettagli dei clienti in account/contatti è molto importante nella gestione delle relazioni con i clienti (CRM). In base alla data, tutti i processi come l'acquisto, la citazione e la manutenzione si verificano. Diamo un'occhiata a come creare la data dalla stringa in Salesforce e convertire la data in stringa. Come parte di questo tutorial, vedremo anche i metodi applicati alla data formattata come l'aggiunta di giorni, anni, mesi, ecc., con esempi.

Classe di data apice

La classe della data supporta tutti i metodi di data che sono primitivi. Utilizza lo spazio dei nomi "sistema". Possiamo usare il metodo ValueOf () da questa classe per convertire la stringa in un formato della data. Dopo aver formattato la data, applichiamo alcuni metodi per aggiungere giorni, mesi, anni, ect., a questa data formattata utilizzando alcuni metodi disponibili anche in questa classe di data.

Innanzitutto, vedremo come convertire la stringa fino ad oggi utilizzando il metodo ValueOf () nell'apex Salesforce.

Data.valore di()

Il valore di () in apice è disponibile nella classe "data" che prende la stringa come argomento che converte la stringa specificata nel formato della data. La stringa di input (parametro) include tre attributi: anno, mese e giorno. Tutti e tre sono combinati/concatenati e passati al metodo.

Sintassi: valore ()

Come già accennato, dobbiamo dichiarare una variabile della classe "Data" e passare la stringa ad essa.

Data data_variable = data.valueof (string_date_format);

Esempio:

Passo 1:

Abbiamo una stringa che contiene il "mese di mese".

// dichiara l'anno, il mese e il primo giorno per uno
String Year = '2023';
String Month = '4';
String day = '5';
// concatenarli tutti in una stringa
String String_Type = Year + '-' + Month + '-' + Day;
sistema.debug (string_type);

Produzione:

Passo 2:

Ora, converti la stringa "data" precedente in "data" utilizzando il metodo ValueOf () dalla classe Apex "Data".

// Converti la date della stringa fino ad oggi
Data converted_date = data.valueof (string_type);
sistema.debug (converted_date);

Produzione:

Possiamo vedere che dopo aver convertito in "data", restituisce automaticamente la data in formato DateTime. Non prenderà in considerazione il tempo (ore: minuti: secondi) anche se li passi al metodo ValueOf (). Il formato restituito è YYYY-MM-DD HH: MM: SS.

Converti la data in stringa

Esistono due modi per convertire la "data" in "stringa". Un modo che è supportato da Apex è l'utilizzo del metodo formato (). L'altro modo è estrarre manualmente gli attributi "Data" (anno, mese e giorno) e concatenarli in stringa. Guardiamoli uno per uno.

Formato()

Il metodo Format () è disponibile nella classe "Data" in Apex che converte la "data" nella stringa nel formato "M/D/YYYY". Possiamo anche passare il formato specificato come parametro a questo metodo. Il formato specificato è il formato predefinito.

Sintassi:

input_date.Formato ("Format_Type")

Esempio:

Consideriamo l'esempio precedente e convertiamo la "data" in "stringa" usando il metodo formato (). Non stiamo fornendo alcun formato specifico al metodo formato ().

// dichiara l'anno, il mese e il primo giorno per uno
String Year = '2023';
String Month = '4';
String day = '5';
// concatenarli tutti in una stringa
String String_Type = Year + '-' + Month + '-' + Day;
// Converti la date della stringa fino ad oggi
Data converted_date = data.valueof (string_type);
sistema.debug (converted_date);
// formato()
sistema.debug (converted_date.formato());

Produzione:

Utilizzando il metodo della classe Data

In questo scenario, estraiamo l'anno, il mese e il giorno separatamente dalla "data" utilizzando i metodi disponibili nella classe Apex "Data". Successivamente, concateniamo questi tre per restituire la "data" in formato "stringa".

  1. giorno() - Questo metodo viene utilizzato per estrarre la data dalla "data". Restituisce l'intero che specifica la data.
  2. mese() - Questo metodo viene utilizzato per estrarre il mese dalla "data". Restituisce l'intero che specifica il numero del mese. Possiamo fare riferimento al 1 gennaio, come 2 febbraio .. . Dicembre 12.
  3. anno() - Questo metodo viene utilizzato per estrarre l'anno dalla "data". Restituisce l'anno in formato a quattro cifre.

Sintassi:

input_date.anno () + '-' + input_date.mese () + '-' + input_date.giorno()

Esempio:

Converti la "data" in "stringa" nel formato "YYYY-M-D".

// dichiara l'anno, il mese e il primo giorno per uno
String Year = '2023';
String Month = '4';
String day = '5';
// concatenarli tutti in una stringa
String String_Type = Year + '-' + Month + '-' + Day;
// Converti la date della stringa fino ad oggi
Data converted_date = data.valueof (string_type);
sistema.debug (converted_date);
// Converti la data in stringa
sistema.debug (converted_date.anno () + '-' + converted_date.Month () + '-' + converted_date.giorno());

Produzione:

Esempi pratici:

Vediamo come aggiornare la "data" come l'aggiunta di giorni, anni e mesi alla data esistente negli oggetti Salesforce. Tutti e tre i metodi prendono il numero intero "N" come argomento.

AddDays ()

Per aggiungere giorni alla data esistente, Apex supporta il metodo AddDays () disponibile nella classe "Data".

AddMonths ()

Per aggiungere mesi alla data esistente, Apex supporta il metodo AddMonths () disponibile nella classe "Data".

Addyears ()

Per aggiungere anni alla data esistente, Apex supporta il metodo Addyears () disponibile nella classe "Data".

Sintassi:

Diamo un'occhiata alla sintassi per questi tre metodi. Qui, specie "n" il valore intero.

  • input_date.Adddays (N)
  • input_date.AddMonths (N)
  • input_date.Addyears (N)

Prima di andare all'esempio, considera quanto segue:

  1. Accedi a Salesforce e vai al "Launcher dell'app" e cerca "campagna" nella scheda. Qui, inseriamo il "nome della campagna" e la "data di fine".
  1. Scegli "campagne" e fai clic su "Nuovo".
  1. Un popup sembra inserire i dati nella campagna. Aggiungi "Posti di suggerimento Linux" con il "nome della campagna" e imposta la "data di fine" come 4/5/2023. Quindi, fai clic su "Salva".

Siamo pronti con il record. (Tipo - Conferenza e stato - Pianificato verrà automaticamente. Lascialo). Apriamo la finestra anonima nella console per sviluppatori.

Esempio 1:

Usiamo il metodo AddDays () per aggiungere 10 giorni all'oggetto "End Date" nell'oggetto "Campagna".

  1. Per fare ciò, dobbiamo prima utilizzare la query SOQL per ottenere il record dall'oggetto "campagna" e archiviare questo record in un oggetto "elenco".
  2. Successivamente, utilizziamo il ciclo "per" per iterare l'elenco e utilizziamo il metodo AddDays () per aggiungere 10 giorni alla "data di fine".
  3. Infine, utilizziamo l'istruzione "Aggiorna DML" per aggiornare la "data di fine" nell'oggetto "campagna".
// restituisce il nome e la fasciatura dalla campagna usando SOQL
Elenca query1 = [Seleziona nome, enddate dalla campagna in cui Name = 'Linux suggerisce post'];
// Aggiungi 10 giorni al metodo Enddate usando AddDays ()
per (campagna I: query1)
io.Enddate = i.Data di fine.Adddays (10);

// Utilizza aggiorna DML per aggiornare la data end
Aggiorna query1;
sistema.debug (query1);

Produzione:

La precedente "data di fine" è il 5 aprile. Dopo aver aggiunto 10 giorni, la "data di fine" è ora il 15 aprile.

Possiamo anche controllare la scheda "Campagna". Sposta indietro e aggiorna la pagina. Puoi vedere che la "data di fine" è aggiornata.

Esempio 2:

Usiamo il metodo AddMonths () per aggiungere 3 mesi alla "data di fine" esistente.

// restituisce il nome e la fasciatura dalla campagna usando SOQL
Elenca query1 = [Seleziona nome, enddate dalla campagna in cui Name = 'Linux suggerisce post'];
sistema.debug ('effettivo:'+query1);
// Aggiungi 3 mesi al fascino usando il metodo AddMonths ()
per (campagna I: query1)
io.Enddate = i.Data di fine.AddMonths (3);

// Utilizza aggiorna DML per aggiornare la data end
Aggiorna query1;
sistema.debug ('aggiornato:'+query1);

Produzione:

Il mese precedente nella "data di fine" è aprile. Dopo aver aggiunto 3 mesi, ora è luglio.

Esempio 3:

Usiamo il metodo Addyears () per aggiungere 3 anni alla "data di fine" esistente.

// restituisce il nome e la fasciatura dalla campagna usando SOQL
Elenca query1 = [Seleziona nome, enddate dalla campagna in cui Name = 'Linux suggerisce post'];
sistema.debug ('effettivo:'+query1);
// Aggiungi 3 anni alla fine del metodo Addyears ()
per (campagna I: query1)
io.Enddate = i.Data di fine.Addyears (3);

// Utilizza aggiorna DML per aggiornare la data end
Aggiorna query1;
sistema.debug ('aggiornato:'+query1);

Produzione:

Dopo aver aggiunto 3 anni alla "data di fine", l'anno aggiornato è 2026.

Conclusione

La formattazione della data in Salesforce Apex è abbastanza semplice. Come parte di questo tutorial, abbiamo imparato come convertire la "data" dal formato "stringa" in "data" utilizzando il metodo valoreof () disponibile nella classe Apex "Date". Se si desidera convertire la data in String, utilizziamo gli attributi del formato () e della data come Day (), mese () e anno (). Infine, abbiamo concluso questa guida discutendo l'operazione DML sull'oggetto "Campagna" Salesforce per aggiornare la "data di fine" utilizzando i metodi AddDays (), AddMonths () e Addyears () con esempi separati.