Salesforce Apex - Formato de fecha

Salesforce Apex - Formato de fecha

El seguimiento de los detalles de los clientes en cuentas/contactos es muy importante en la gestión de relaciones con el cliente (CRM). Según la fecha, todos los procesos, como las compras, cotizaciones y el servicio, ocurren. Veamos cómo crear la fecha de la cadena en Salesforce y convertir la fecha en cadena. Como parte de este tutorial, también veremos los métodos que se aplican en la fecha formateada como agregar días, años, meses, etc., con ejemplos.

Clase de fecha de Apex

La clase de fecha admite todos los métodos de fecha que son primitivos. Utiliza el espacio de nombres "Sistema". Podemos usar el método valueOf () de esta clase para convertir la cadena en un formato de fecha. Después de formatear la fecha, aplicamos algunos métodos para agregar los días, meses, años, etc., a esta fecha formateada utilizando algunos métodos que también están disponibles en esta clase de fecha.

Primero, veremos cómo convertir la cadena hasta la fecha usando el método valuef () en Salesforce Apex.

Fecha.valor de()

El valorof () en Apex está disponible en la clase "Fecha" que toma la cadena como un argumento que convierte la cadena especificada en el formato de fecha. La cadena de entrada (parámetro) incluye tres atributos: año, mes y día. Todos estos tres se combinan/concatenan y pasan al método.

Sintaxis: valuef ()

Como ya se mencionó, necesitamos declarar una variable de la clase de "fecha" y pasar la cadena a él.

Fecha fecha_variable = fecha.valorof (string_date_format);

Ejemplo:

Paso 1:

Tengamos una cuerda que posee el "año y mes".

// Declarar año, mes y día uno por uno
String Year = '2023';
String mes = '4';
String day = '5';
// Concatenate a todos en una cadena
String string_type = año + '-' + mes + '-' + día;
sistema.debug (string_type);

Producción:

Paso 2:

Ahora, convierta la cadena de "fecha" anterior en "fecha" usando el método valueOf () desde la clase APEX "Fecha".

// Convertir la fecha de cadena hasta la fecha
Fecha convertida_date = fecha.valueOf (string_type);
sistema.debug (convertido_date);

Producción:

Podemos ver que después de convertir a "fecha", devuelve automáticamente la fecha en el formato de fecha y hora. No considerará el tiempo (horas: minutos: segundos) incluso si los pasa al método valueOf (). El formato devuelto es aaa yyyy-mm-dd hh: mm: ss.

Convertir la fecha en cadena

Hay dos formas de convertir la "fecha" en "cadena". Una forma que es compatible con Apex es usar el método format (). La otra forma es extraer manualmente los atributos de "fecha" (año, mes y día) y concatificarlos en una cuerda. Veamoslos uno por uno.

Formato()

El método Format () está disponible en la clase "Fecha" en APEX que convierte la "fecha" en la cadena en el formato "M/D/YYYY". También podemos pasar el formato especificado como parámetro a este método. El formato especificado es el formato predeterminado.

Sintaxis:

entrada_date.Formato ("Format_type")

Ejemplo:

Consideremos el ejemplo anterior y vuelvamos a volver a "Fecha" a "Cadena" usando el método Format (). No proporcionamos ningún formato específico al método de formato ().

// Declarar año, mes y día uno por uno
String Year = '2023';
String mes = '4';
String day = '5';
// Concatenate a todos en una cadena
String string_type = año + '-' + mes + '-' + día;
// Convertir la fecha de cadena hasta la fecha
Fecha convertida_date = fecha.valueOf (string_type);
sistema.debug (convertido_date);
// formato()
sistema.Debug (convertido_date.formato());

Producción:

Usando el método de clase de fecha

En este escenario, extraemos el año, el mes y el día por separado de la "fecha" utilizando los métodos disponibles en la clase de "fecha" de Apex. A continuación, concatenamos a estos tres para devolver el formato de "fecha" en "cadena".

  1. día() - Este método se utiliza para extraer la fecha de la "fecha". Devuelve el entero que especifica la fecha.
  2. mes() - Este método se utiliza para extraer el mes de la "fecha". Devuelve el entero que especifica el número de mes. Podemos referirnos a enero como 1 de febrero como 2 .. . Diciembre como 12.
  3. año() - Este método se utiliza para extraer el año de la "fecha". Devuelve el año en un formato de cuatro dígitos.

Sintaxis:

entrada_date.año () + '-' + input_date.mes () + '-' + input_date.día()

Ejemplo:

Convertir la "fecha" a "cadena" en el formato "aaa yyy-m-d".

// Declarar año, mes y día uno por uno
String Year = '2023';
String mes = '4';
String day = '5';
// Concatenate a todos en una cadena
String string_type = año + '-' + mes + '-' + día;
// Convertir la fecha de cadena hasta la fecha
Fecha convertida_date = fecha.valueOf (string_type);
sistema.debug (convertido_date);
// Convertir la fecha en la cadena
sistema.Debug (convertido_date.año () + '-' + convertido_date.mes () + '-' + convertido_date.día());

Producción:

Ejemplos prácticos:

Veamos cómo actualizar la "fecha" como agregar días, años y meses a la fecha existente en los objetos de Salesforce. Los tres métodos toman el entero "n" como argumento.

adddays ()

Para agregar días a la fecha existente, Apex admite el método adddays () que está disponible en la clase "Fecha".

addmonths ()

Para agregar meses a la fecha existente, Apex admite el método addmonths () que está disponible en la clase "fecha".

addYears ()

Para agregar años a la fecha existente, Apex admite el método addYears () que está disponible en la clase "Fecha".

Sintaxis:

Veamos la sintaxis de estos tres métodos. Aquí, especies "n" el valor entero.

  • entrada_date.Adddays (n)
  • entrada_date.Addmonths (n)
  • entrada_date.addyears (n)

Antes de ir al ejemplo, considere lo siguiente:

  1. Inicie sesión en Salesforce y vaya al "Lanzador de aplicaciones" y busque "Campaña" en la pestaña. Aquí, insertamos el "nombre de la campaña" y la "fecha de finalización".
  1. Elija "campañas" y haga clic en "Nuevo".
  1. Una ventana emergente parece insertar los datos en la campaña. Agregue "Linux Sugerio Publicaciones" bajo el "Nombre de la campaña" y configure la "Fecha de finalización" como 4/5/2023. Luego, haga clic en "Guardar".

Estamos listos con el registro. (Tipo - Conferencia y estado: Planned vendrá automáticamente. Deja eso). Abramos la ventana anónima en la consola de desarrolladores.

Ejemplo 1:

Usemos el método adddays () para agregar 10 días a la "fecha de finalización" existente en el objeto "campaña".

  1. Para hacer esto, primero debemos usar la consulta SOQL para obtener el registro del objeto "Campaña" y almacenar este registro en un objeto "Lista".
  2. A continuación, usamos el bucle "para" para iterar la lista y usamos el método adddays () para agregar 10 días a la "fecha de finalización".
  3. Finalmente, utilizamos la instrucción "actualizar DML" para actualizar la "fecha de finalización" en el objeto "campaña".
// devolver el nombre y la fecha de la campaña utilizando SOQL
List Query1 = [Seleccione Nombre, Endetate desde la campaña donde Name = 'Linux Sinting Publics'];
// Agregue 10 días a la fecha final usando el método adddays ()
para (campaña I: Query1)
i.End Data = I.Fecha final.Adddays (10);

// Use Actualizar DML para actualizar la fecha final
actualizar la consulta1;
sistema.depuración (consulta1);

Producción:

La "fecha de finalización" anterior es el 5 de abril. Después de agregarle 10 días, la "fecha de finalización" es ahora el 15 de abril.

También podemos registrarnos en la pestaña "Campaña". Retroceda y actualice la página. Puede ver que la "fecha de finalización" se actualiza.

Ejemplo 2:

Usemos el método addmonths () para agregar 3 meses a la "fecha de finalización" existente.

// devolver el nombre y la fecha de la campaña utilizando SOQL
List Query1 = [Seleccione Nombre, Endetate desde la campaña donde Name = 'Linux Sinting Publics'];
sistema.Debug ('Real:'+Query1);
// Agregue 3 meses a la fecha final usando el método addmonths ()
para (campaña I: Query1)
i.End Data = I.Fecha final.addmonths (3);

// Use Actualizar DML para actualizar la fecha final
actualizar la consulta1;
sistema.debug ('actualizado:'+query1);

Producción:

El mes anterior en la "fecha de finalización" es abril. Después de agregar 3 meses, ahora es julio.

Ejemplo 3:

Usemos el método addYears () para agregar 3 años a la "fecha de finalización" existente.

// devolver el nombre y la fecha de la campaña utilizando SOQL
List Query1 = [Seleccione Nombre, Endetate desde la campaña donde Name = 'Linux Sinting Publics'];
sistema.Debug ('Real:'+Query1);
// Agregar 3 años a la fecha final usando el método addYears ()
para (campaña I: Query1)
i.End Data = I.Fecha final.addYears (3);

// Use Actualizar DML para actualizar la fecha final
actualizar la consulta1;
sistema.debug ('actualizado:'+query1);

Producción:

Después de agregar 3 años a la "fecha de finalización", el año actualizado es 2026.

Conclusión

Formatear la fecha en Salesforce Apex es bastante simple. Como parte de este tutorial, aprendimos cómo convertir el formato de "fecha" del formato de "cadena" a "fecha" utilizando el método valueOf () que está disponible en la clase APEX "Fecha". Si desea volver a convertir la fecha en cadena, usamos los atributos de formato () y fecha como Day (), mes () y año (). Finalmente, terminamos esta guía discutiendo la operación DML en el objeto "Campaña" de Salesforce para actualizar la "Fecha de finalización" usando AddDays (), Addmonths () y AddYears () con ejemplos separados.