Salesforce Apex - Format de data

Salesforce Apex Format De Data



El seguiment dels detalls dels clients a Comptes/Contactes és molt important a la Gestió de la relació amb el client (CRM). En funció de la data, es produeixen tots els processos com ara la compra, la cotització i el servei. Vegem com crear la data a partir d'una cadena a Salesforce i com convertir la data en una cadena. Com a part d'aquest tutorial, també veurem els mètodes que s'apliquen a la data amb format com afegir dies, anys, mesos, etc., amb exemples.

Classe Apex Date

La classe de data admet tots els mètodes de data que són primitius. Utilitza l'espai de noms 'Sistema'. Podem utilitzar el mètode valueOf() d'aquesta classe per convertir la cadena a un format de data. Després de formatar la data, apliquem alguns mètodes per afegir els dies, mesos, anys, etc., a aquesta data amb format mitjançant alguns mètodes que també estan disponibles en aquesta classe de dates.







Primer, veurem com convertir la cadena a la data utilitzant el mètode valueOf() a Salesforce Apex.



Date.valueOf()

El valorOf() a Apex està disponible a la classe 'Date' que pren la cadena com a argument que converteix la cadena especificada al format de data. La cadena d'entrada (paràmetre) inclou tres atributs: any, mes i dia. Tots aquests tres es combinen/concatenen i es passen al mètode.



Sintaxi: ValueOf()

Com ja s'ha esmentat, hem de declarar una variable de la classe 'Data' i passar-hi la cadena.





Data data_variable= data.valueOf(string_date_format);

Exemple:

Pas 1:

Tinguem una cadena que contingui el 'Any-Mes-Dia'.

// Declarar any, mes i dia un per un

Any de cadena = '2023';

String Mes = '4';

Dia de cadena = '5';

// Concatenar-los tots en una cadena

String string_type = Any + '-' + Mes + '-' + Dia;

system.debug(tipus_cadena);

Sortida:



Pas 2:

Ara, convertiu la cadena 'Date' anterior a 'Data' mitjançant el mètode valueOf() de la classe Apex 'Date'.

// Converteix string-Date a Data

Data convertida_data = data.valueOf(tipus_cadena);

system.debug(data_convertida);

Sortida:

Podem veure que després de convertir a 'Data', retorna automàticament la data en el format DateTime. No tindrà en compte el temps (Hores:Minuts:Segons) fins i tot si els passeu al mètode valueOf(). El format retornat és AAAA-MM-DD HH:MM:SS.

Converteix la data en cadena

Hi ha dues maneres de convertir la 'Data' a 'String'. Una manera que és compatible amb Apex és utilitzar el mètode format(). L'altra manera és extreure manualment els atributs 'Data' (any, mes i dia) i concatenar-los en cadena. Vegem-los un per un.

1. Format()

El mètode format() està disponible a la classe 'Data' a Apex que converteix la 'Data' a la cadena en el format 'M/D/AAAA'. També podem passar el format especificat com a paràmetre a aquest mètode. El format especificat és el format per defecte.

Sintaxi:

data_entrada.format(“tipus_format”)

Exemple:

Considerem l'exemple anterior i tornem a convertir la 'Data' a 'String' mitjançant el mètode format(). No proporcionem cap format específic al mètode format().

// Declarar any, mes i dia un per un

Any de cadena = '2023';

String Mes = '4';

Dia de cadena = '5';

// Concatenar-los tots en una cadena

String string_type = Any + '-' + Mes + '-' + Dia;

// Converteix string-Date a Data

Data convertida_data = data.valueOf(tipus_cadena);

system.debug(data_convertida);

// format()

system.debug(data_convertida.format());

Sortida:

2. Utilitzant el mètode de classe de data

En aquest escenari, extreu l'any, el mes i el dia per separat de la 'Data' mitjançant els mètodes disponibles a la classe 'Data' d'Apex. A continuació, concatenem aquests tres per tornar la 'Data' en format 'String'.

  1. dia () – Aquest mètode s'utilitza per extreure la data de la 'Data'. Retorna l'enter que especifica la data.
  2. mes () – Aquest mètode s'utilitza per extreure el mes de la 'Data'. Retorna l'enter que especifica el número del mes. Podem referir-nos a gener com a 1, febrer com a 2... el 12 de desembre.
  3. curs() – Aquest mètode s'utilitza per extreure l'any de la 'Data'. Torna l'any en un format de quatre dígits.

Sintaxi:

data_entrada.any() + '-' + data_entrada.mes() + '-' + data_entrada.dia()

Exemple:

Torneu a convertir la 'Data' a 'String' en el format 'AAAA-M-D'.

// Declarar any, mes i dia un per un

Any de cadena = '2023';

String Mes = '4';

Dia de cadena = '5';

// Concatenar-los tots en una cadena

String string_type = Any + '-' + Mes + '-' + Dia;

// Converteix string-Date a Data

Data convertida_data = data.valueOf(tipus_cadena);

system.debug(data_convertida);

// Converteix la data en cadena

system.debug(data_convertida.any() + '-' + data_convertida.mes() + '-' + data_convertida.dia());

Sortida:

Exemples pràctics:

Vegem com actualitzar la 'Data', com ara afegir dies, anys i mesos a la data existent als objectes de Salesforce. Els tres mètodes prenen l'enter 'n' com a argument.

1. afegirDies()

Per afegir dies a la data existent, Apex admet el mètode addDays() que està disponible a la classe 'Data'.

2. addMonths()

Per afegir mesos a la data existent, Apex admet el mètode addMonths() que està disponible a la classe 'Data'.

3. afegirAnys()

Per afegir anys a la data existent, Apex admet el mètode addYears() que està disponible a la classe 'Data'.

Sintaxi:

Vegem la sintaxi d'aquests tres mètodes. Aquí, 'n' especifica el valor sencer.

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

Abans d'anar a l'exemple, tingueu en compte el següent:

  1. Inicieu sessió a Salesforce i aneu a 'App Launcher' i cerqueu 'Campanya' a la pestanya. Aquí, inserim el 'Nom de la campanya' i la 'Data de finalització'.

  1. Trieu 'Campanyes' i feu clic a 'Nou'.

  1. Apareix una finestra emergent per inserir les dades a la campanya. Afegiu 'Publicacions de suggeriments de Linux' a 'Nom de la campanya' i configureu la 'Data de finalització' com a 4/5/2023. A continuació, feu clic a 'Desa'.

Estem preparats amb el disc. (Tipus - Conferència i estat - Planificat vindrà automàticament. Deixeu-ho). Obrim la finestra anònima a la consola del desenvolupador.

Exemple 1:

Utilitzem el mètode addDays() per afegir 10 dies a la 'Data de finalització' existent a l'objecte 'Campanya'.

  1. Per fer-ho, primer hem d'utilitzar la consulta SOQL per obtenir el registre de l'objecte 'Campanya' i emmagatzemar aquest registre en un objecte 'Llista'.
  2. A continuació, utilitzem el bucle 'for' per iterar la llista i utilitzem el mètode addDays() per afegir 10 dies a la 'Data de finalització'.
  3. Finalment, utilitzem la declaració 'actualitzar DML' per actualitzar la 'Data de finalització' a l'objecte 'Campanya'.
// Retorna el nom i la data de finalització de la campanya mitjançant SOQL

Llista consulta1 = [SELECT Name,EndDate FROM Campaign WHERE Name = 'Linux Hint Posts'];

// Afegiu 10 dies a EndDate mitjançant el mètode addDays().

per a(Campanya i: consulta1){

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

}

// Utilitzeu el DML d'actualització per actualitzar la data de finalització

actualització de la consulta 1;

system.debug(consulta1);

Sortida:

La 'Data de finalització' anterior és el 5 d'abril. Després d'afegir-hi 10 dies, la 'Data de finalització' és ara el 15 d'abril.

També podem comprovar a la pestanya 'Campanya'. Torneu enrere i actualitzeu la pàgina. Podeu veure que la 'Data de finalització' està actualitzada.

Exemple 2:

Utilitzem el mètode addMonths() per afegir 3 mesos a la 'Data de finalització' existent.

// Retorna el nom i la data de finalització de la campanya mitjançant SOQL

Llista consulta1 = [SELECT Name,EndDate FROM Campaign WHERE Name = 'Linux Hint Posts'];

system.debug('Actual: '+consulta1);

// Afegiu 3 mesos a EndDate mitjançant el mètode addMonths().

per a(Campanya i: consulta1){

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

}

// Utilitzeu el DML d'actualització per actualitzar la data de finalització

actualització de la consulta 1;

system.debug('Actualitzat: '+consulta1);

Sortida:

El mes anterior a la 'Data de finalització' és abril. Després d'afegir 3 mesos, ara és juliol.

Exemple 3:

Utilitzem el mètode addYears() per afegir 3 anys a la 'Data de finalització' existent.

// Retorna el nom i la data de finalització de la campanya mitjançant SOQL

Llista consulta1 = [SELECT Name,EndDate FROM Campaign WHERE Name = 'Linux Hint Posts'];

system.debug('Actual: '+consulta1);

// Afegiu 3 anys a EndDate mitjançant el mètode addYears().

per a(Campanya i: consulta1){

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

}

// Utilitzeu el DML d'actualització per actualitzar la data de finalització

actualització de la consulta 1;

system.debug('Actualitzat: '+consulta1);

Sortida:

Després d'afegir 3 anys a la 'Data de finalització', l'any actualitzat és el 2026.

Conclusió

Formatar la data a Salesforce Apex és bastant senzill. Com a part d'aquest tutorial, hem après com convertir la 'Data' del format 'String' a 'Data' mitjançant el mètode valueOf() disponible a la classe Apex 'Date'. Si voleu tornar la data a cadena, utilitzem els atributs format() i data com day(), month() i year(). Finalment, vam acabar aquesta guia discutint l'operació DML a l'objecte 'Campanya' de Salesforce per actualitzar la 'Data de finalització' mitjançant els mètodes addDays(), addMonths() i addYears() amb exemples separats.