Salesforce Apex - Formato de data

Salesforce Apex - Formato de data

Rastrear os detalhes dos clientes em contas/contatos é muito importante no gerenciamento de relacionamento com clientes (CRM). Com base na data, todos os processos como compra, citação e manutenção acontecem. Vejamos como criar a data a partir da string no Salesforce e converter a data para a string. Como parte deste tutorial, também veremos os métodos aplicados na data formatada, como adicionar dias, anos, meses, etc., com exemplos.

APEX DAT CLASS

A classe de data suporta todos os métodos de data que são primitivos. Ele usa o espaço para nome do "sistema". Podemos usar o método ValueOf () desta classe para converter a string em um formato de data. Após a formatação da data, aplicamos alguns métodos para adicionar dias, meses, anos, etc., Para esta data formatada usando alguns métodos que também estão disponíveis nesta classe de data.

Primeiro, veremos como converter a string até o momento usando o método ValueOf () no Salesforce Apex.

Data.valor de()

O valueof () no Apex está disponível na classe "Data", que toma a string como um argumento que converte a sequência especificada no formato de data. A sequência de entrada (parâmetro) inclui três atributos - ano, mês e dia. Todos esses três são combinados/concatenados e passados ​​para o método.

Sintaxe: valueof ()

Como já mencionado, precisamos declarar uma variável da classe "data" e passar a string a ela.

Data date_variable = data.valueof (string_date_format);

Exemplo:

Passo 1:

Vamos ter uma string que segura o “dia do mês do ano”.

// declarar ano, mês e dia um por um
String ano = '2023';
String mês = '4';
String dia = '5';
// Concatenando todos eles em uma string
String string_type = ano + '-' + mês + '-' + dia;
sistema.Debug (String_type);

Saída:

Passo 2:

Agora, converta a sequência anterior "Date" em "Data" usando o método ValueOf () da classe "Data" do Apex.

// converte a string-data até o momento
Data convertida_date = data.valueof (string_type);
sistema.Debug (convertido_date);

Saída:

Podemos ver que, depois de converter para "data", ele retorna automaticamente a data no formato DateTime. Não considerará o tempo (horas: minutos: segundos), mesmo se você passar para o método valueof (). O formato retornado é aaaaa-mm-dd hh: mm: ss.

Converter a data para string

Existem duas maneiras de converter a "data" para "string". Uma maneira que é suportada pelo Apex é usar o método format (). A outra maneira é extrair manualmente os atributos de "data" (ano, mês e dia) e concatenando -os em string. Vamos olhar para eles um por um.

Formatar()

O método format () está disponível na classe "Data" no Apex, que converte a "data" na string no formato "m/d/yyyyy". Também podemos passar no formato especificado como um parâmetro para este método. O formato especificado é o formato padrão.

Sintaxe:

input_date.formato ("format_type")

Exemplo:

Vamos considerar o exemplo anterior e converter de volta a "data" em "string" usando o método format (). Não estamos fornecendo nenhum formato específico para o método formato ().

// declarar ano, mês e dia um por um
String ano = '2023';
String mês = '4';
String dia = '5';
// Concatenando todos eles em uma string
String string_type = ano + '-' + mês + '-' + dia;
// converte a string-data até o momento
Data convertida_date = data.valueof (string_type);
sistema.Debug (convertido_date);
// formato ()
sistema.Debug (convertido_date.formatar());

Saída:

Usando o método da classe de data

Nesse cenário, extraímos o ano, mês e dia separadamente da "data" usando os métodos disponíveis na classe "Data" da Apex. Em seguida, concatenamos esses três para retornar a "data" em formato "String".

  1. dia() - Este método é usado para extrair a data da "data". Ele retorna o número inteiro que especifica a data.
  2. mês() - Este método é usado para extrair o mês a partir da "data". Ele retorna o número inteiro que especifica o número do mês. Podemos nos referir a 1 de janeiro de 1 de fevereiro como 2… . Dezembro e 12.
  3. ano() - Este método é usado para extrair o ano a partir da "data". Retorna o ano em um formato de quatro dígitos.

Sintaxe:

input_date.ano () + '-' + input_date.mês () + '-' + input_date.dia()

Exemplo:

Converta de volta a “data” em “string” no formato “AAAA-M-D”.

// declarar ano, mês e dia um por um
String ano = '2023';
String mês = '4';
String dia = '5';
// Concatenando todos eles em uma string
String string_type = ano + '-' + mês + '-' + dia;
// converte a string-data até o momento
Data convertida_date = data.valueof (string_type);
sistema.Debug (convertido_date);
// converter data para string
sistema.Debug (convertido_date.ano () + '-' + convertido_date.mês () + '-' + convertido_date.dia());

Saída:

Exemplos práticos:

Vamos ver como atualizar a "data", como adicionar dias, anos e meses até a data existente nos objetos do Salesforce. Todos os três métodos tomam o número inteiro "n" como um argumento.

addDays ()

Para adicionar dias à data existente, o APEX suporta o método AddDays () disponível na classe "Data".

addmonths ()

Para adicionar meses à data existente, o APEX suporta o método addmonths () que está disponível na classe "data".

addyears ()

Para adicionar anos à data existente, o APEX suporta o método addyears () que está disponível na classe "Date".

Sintaxe:

Vejamos a sintaxe desses três métodos. Aqui, espécies “n” o valor inteiro.

  • input_date.AddDays (n)
  • input_date.addmonths (n)
  • input_date.addyears (n)

Antes de ir para o exemplo, considere o seguinte:

  1. Faça login no Salesforce e vá para o "lançador de aplicativos" e pesquise "campanha" na guia. Aqui, inserimos o "nome da campanha" e "data final".
  1. Escolha “campanhas” e clique em “Novo”.
  1. Um pop -up parece inserir os dados na campanha. Adicione "Linux Dint Posts" no "Nome da campanha" e defina a "Data final" como 5/5/2023. Em seguida, clique em "Salvar".

Estamos prontos com o registro. (Tipo - conferência e status - planejado virá automaticamente. Deixe isso). Vamos abrir a janela anônima no console do desenvolvedor.

Exemplo 1:

Vamos usar o método addDays () para adicionar 10 dias à "data final" existente no objeto "Campanha".

  1. Para fazer isso, primeiro precisamos usar a consulta SOQL para obter o registro do objeto "Campanha" e armazenar esse registro em um objeto "Lista".
  2. Em seguida, usamos o loop "for" para iterar a lista e usar o método addDays () para adicionar 10 dias à "data final".
  3. Por fim, usamos a declaração "Atualizar DML" para atualizar a "data final" no objeto "Campanha".
// Retornar o nome e o fim da campanha usando SOQL
Lista query1 = [selecione Nome, ENDDATE FROM CAMPANHA WHERE NOME = 'Linux Dint Posts'];
// Adicione 10 dias ao Enddate usando o método addDays ()
para (Campanha I: Query1)
eu.Enddate = i.Data final.addDays (10);

// Use Atualizar DML para atualizar o ENDDATE
atualização consulte1;
sistema.Debug (Query1);

Saída:

A “data final” anterior é 5 de abril. Depois de adicionar 10 dias, a "data final" é agora 15 de abril.

Também podemos verificar na guia "Campanha". Volte e refresque a página. Você pode ver que a "data final" é atualizada.

Exemplo 2:

Vamos usar o método addmonths () para adicionar 3 meses à “data final” existente.

// Retornar o nome e o fim da campanha usando SOQL
Lista query1 = [selecione Nome, ENDDATE FROM CAMPANHA WHERE NOME = 'Linux Dint Posts'];
sistema.Debug ('Real:'+Query1);
// Adicione 3 meses ao Enddate usando o método addmonths ()
para (Campanha I: Query1)
eu.Enddate = i.Data final.addmonths (3);

// Use Atualizar DML para atualizar o ENDDATE
atualização consulte1;
sistema.Debug ('Atualizado:'+Query1);

Saída:

O mês anterior na "data final" é abril. Depois de adicionar 3 meses, agora é julho.

Exemplo 3:

Vamos usar o método addyears () para adicionar 3 anos à “data final” existente.

// Retornar o nome e o fim da campanha usando SOQL
Lista query1 = [selecione Nome, ENDDATE FROM CAMPANHA WHERE NOME = 'Linux Dint Posts'];
sistema.Debug ('Real:'+Query1);
// Adicione 3 anos ao Enddate usando o método addyears ()
para (Campanha I: Query1)
eu.Enddate = i.Data final.addyears (3);

// Use Atualizar DML para atualizar o ENDDATE
atualização consulte1;
sistema.Debug ('Atualizado:'+Query1);

Saída:

Depois de adicionar 3 anos à "data final", o ano atualizado é 2026.

Conclusão

Formatar a data no Salesforce Apex é bastante simples. Como parte deste tutorial, aprendemos a converter a "data" do formato "String" para "Data" usando o método ValueOf () que está disponível na classe "Data" da APEX. Se você deseja converter de volta a data em string, usamos os atributos do formato () e data como dia (), mês () e ano (). Finalmente, encerramos este guia discutindo a operação DML no objeto de "campanha" do Salesforce para atualizar os métodos "Data final" usando métodos AddDays (), Addmonths () e Addyears () com exemplos separados.