Salesforce APEX - Format daty

Salesforce APEX - Format daty

Śledzenie szczegółów klientów na kontach/kontaktach jest bardzo ważne w zarządzaniu relacjami z klientami (CRM). Na podstawie daty odbywają się wszystkie procesy, takie jak zakup, cytowanie i serwisowanie. Spójrzmy, jak utworzyć datę z ciągu w Salesforce i przekonwertować datę na ciąg. W ramach tego samouczka zobaczymy również metody stosowane w sformatowanej dacie, takie jak dodawanie dni, lat, miesięcy itp., z przykładami.

Klasa daty wierzchołka

Klasa daty obsługuje wszystkie metody daty prymitywne. Używa przestrzeni nazw „systemu”. Możemy użyć metody valueOF () z tej klasy, aby przekonwertować ciąg na format daty. Po sformatowaniu daty stosujemy niektóre metody dodawania dni, miesięcy, lat, ECT., do tej sformatowanej daty przy użyciu niektórych metod, które są również dostępne w tej klasie daty.

Najpierw zobaczymy, jak przekonwertować ciąg na datę za pomocą metody valueOF () w Apex Salesforce.

Data.wartość()

Valueof () w APEX jest dostępny w klasie „Data”, która przyjmuje ciąg jako argument, który przekształca określony ciąg w formacie daty. String wejściowy (parametr) zawiera trzy atrybuty - rok, miesiąc i dzień. Wszystkie te trzy są połączone/połączone i przekazywane do metody.

Składnia: valueof ()

Jak już wspomniano, musimy zadeklarować zmienną klasy „datę” i przekazać do niej ciąg.

Data data_variable = data.valueof (string_date_format);

Przykład:

Krok 1:

Miejmy ciąg, który zawiera „dzień roku”.

// deklaruj rok, miesiąc i dzień jeden po drugim
String Year = „2023”;
String Month = „4”;
String Day = „5”;
// połącz je wszystkie w ciąg
String String_Type = rok + '-' + miesiąc + '-' + dzień;
system.debug (string_type);

Wyjście:

Krok 2:

Teraz przekonwertuj poprzedni ciąg „daty” na „datę” za pomocą metody valueOF () z klasy „data” wierzchołka.

// Konwertuj ciąg-date na datę
Data konwertowana_date = data.valueof (string_type);
system.debug (Converted_Date);

Wyjście:

Widzimy, że po przekształceniu na „datę” automatycznie zwraca datę w formacie Datetime. Nie weźmie się pod uwagę czasu (godziny: minuty: sekundy), nawet jeśli przekazasz je do metody valueOF (). Zwracany format to JYYY-MM-DD HH: MM: SS.

Konwertuj datę na ciąg

Istnieją dwa sposoby konwersji „daty” na „ciąg”. Jednym ze sposobów obsługiwanych przez APEX jest zastosowanie metody format (). Innym sposobem jest ręczne wyodrębnienie atrybutów „daty” (rok, miesiąc i dzień) i łączenie ich w ciąg. Spójrzmy na nich jeden po drugim.

Format()

Metoda Format () jest dostępna w klasie „Data” w APEX, która przekształca „datę” w ciąg w formacie „M/D/Yyyy”. Możemy również przekazać określony format jako parametr do tej metody. Określony format to format domyślny.

Składnia:

input_date.format („format_type”)

Przykład:

Rozważmy poprzedni przykład i przekonwertować „datę” na „ciąg” za pomocą metody format (). Nie podajemy żadnego konkretnego formatu metody format ().

// deklaruj rok, miesiąc i dzień jeden po drugim
String Year = „2023”;
String Month = „4”;
String Day = „5”;
// połącz je wszystkie w ciąg
String String_Type = rok + '-' + miesiąc + '-' + dzień;
// Konwertuj ciąg-date na datę
Data konwertowana_date = data.valueof (string_type);
system.debug (Converted_Date);
// format ()
system.debug (Converted_date.format());

Wyjście:

Za pomocą metody klasy daty

W tym scenariuszu wyodrębniamy rok, miesiąc i dzień oddzielnie od „daty” przy użyciu dostępnych metod w klasie wierzchołkowej „daty”. Następnie łączymy te trzy, aby zwrócić „datę” w formacie „String”.

  1. dzień() - Ta metoda służy do wyodrębnienia daty z „daty”. Zwraca liczbę całkowitą, która określa datę.
  2. miesiąc() - Ta metoda służy do wyodrębnienia miesiąca z „daty”. Zwraca liczbę całkowitą, która określa numer miesiąca. Możemy nazwać styczeń 1 lutego jako 2… . Grudzień jako 12.
  3. rok() - Ta metoda służy do wyodrębnienia roku z „daty”. Zwraca rok w czterocyfrowym formacie.

Składnia:

input_date.rok () + '-' + input_date.miesiąc () + '-' + input_date.dzień()

Przykład:

Konwertuj „datę” na „String” w formacie „Yyyy-M-D”.

// deklaruj rok, miesiąc i dzień jeden po drugim
String Year = „2023”;
String Month = „4”;
String Day = „5”;
// połącz je wszystkie w ciąg
String String_Type = rok + '-' + miesiąc + '-' + dzień;
// Konwertuj ciąg-date na datę
Data konwertowana_date = data.valueof (string_type);
system.debug (Converted_Date);
// Konwertuj datę na ciąg
system.debug (Converted_date.rok () + '-' + Converted_Date.miesiąc () + '-' + Converted_Date.dzień());

Wyjście:

Praktyczne przykłady:

Zobaczmy, jak zaktualizować „datę”, jak dodawanie dni, lat i miesięcy do istniejącej daty w obiektach Salesforce. Wszystkie trzy metody biorą liczbę całkowitą „N” jako argument.

dodatki ()

Aby dodać dni do istniejącej daty, Apex obsługuje metodę AddDays (), która jest dostępna w klasie „Data”.

addMonths ()

Aby dodać miesiące do istniejącej daty, Apex obsługuje metodę AddMonths (), która jest dostępna w klasie „Data”.

addyears ()

Aby dodać lata do istniejącej daty, Apex obsługuje metodę addyears (), która jest dostępna w klasie „data”.

Składnia:

Spójrzmy na składnię dla tych trzech metod. Tutaj gatunek „n” wartość liczb całkowita.

  • input_date.dodatki (n)
  • input_date.dodatki (n)
  • input_date.addyears (n)

Przed przejściem do przykładu rozważ następujące czynności:

  1. Zaloguj się do Salesforce i przejdź do „Launchera aplikacji” i wyszukaj „Kampania” na karcie. Tutaj wstawiamy „Nazwa kampanii” i „Data zakończenia”.
  1. Wybierz „Kampanie” i kliknij „Nowe”.
  1. Wydaje się, że wyskakujące okienko wkłada dane do kampanii. Dodaj „Posty z podpowiedzi Linux” pod „Nazwa kampanii” i ustaw „Data zakończenia” jako 4/5/2023. Następnie kliknij „Zapisz”.

Jesteśmy gotowi z płyty. (Typ - Konferencja i status - planowane będą automatycznie. Zostaw to). Otwórzmy anonimowe okno w konsoli dewelopera.

Przykład 1:

Użyjmy metody AddDays (), aby dodać 10 dni do istniejącego „daty zakończenia” w obiekcie „kampanii”.

  1. Aby to zrobić, najpierw musimy użyć zapytania SOQL, aby uzyskać rekord z obiektu „Kampania” i przechowywać ten rekord w obiekcie „List”.
  2. Następnie używamy pętli „For”, aby iterować listę i używamy metody AddDays (), aby dodać 10 dni do „daty zakończenia”.
  3. Na koniec używamy instrukcji „Aktualizacja DML”, aby zaktualizować „datę zakończenia” w obiekcie „kampanii”.
// Nazwa powrotu i endDate z kampanii za pomocą SoQL
List Query1 = [Wybierz nazwę, EndDate z kampanii, w której nazwa = 'Linux wskazów wskazówek'];
// Dodaj 10 dni do endDate za pomocą metody AddDays ()
dla (kampania I: query1)
I.Enddate = i.Data końcowa.dodatki (10);

// Użyj aktualizacji DML, aby zaktualizować endDate
aktualizacja Query1;
system.debugowanie (zapytanie1);

Wyjście:

Poprzednia „data zakończenia” to 5 kwietnia. Po dodaniu do niego 10 dni „data zakończenia” jest teraz 15 kwietnia.

Możemy również sprawdzić w zakładce „Kampania”. Cofnij się i odśwież stronę. Możesz zobaczyć, że „data zakończenia” jest aktualizowana.

Przykład 2:

Użyjmy metody AddMonths (), aby dodać 3 miesiące do istniejącej „daty zakończenia”.

// Nazwa powrotu i endDate z kampanii za pomocą SoQL
List Query1 = [Wybierz nazwę, EndDate z kampanii, w której nazwa = 'Linux wskazów wskazówek'];
system.Debug („faktyczne:”+query1);
// Dodaj 3 miesiące do endDate za pomocą metody addonths ()
dla (kampania I: query1)
I.Enddate = i.Data końcowa.addonths (3);

// Użyj aktualizacji DML, aby zaktualizować endDate
aktualizacja Query1;
system.Debug („Zaktualizowano:”+query1);

Wyjście:

W poprzednim miesiącu w „Dacie zakończenia” jest kwiecień. Po dodaniu 3 miesięcy jest teraz lipiec.

Przykład 3:

Użyjmy metody addyears (), aby dodać 3 lata do istniejącej „daty końcowej”.

// Nazwa powrotu i endDate z kampanii za pomocą SoQL
List Query1 = [Wybierz nazwę, EndDate z kampanii, w której nazwa = 'Linux wskazów wskazówek'];
system.Debug („faktyczne:”+query1);
// Dodaj 3 lata do metody Endandate za pomocą metody addyears ()
dla (kampania I: query1)
I.Enddate = i.Data końcowa.Addyears (3);

// Użyj aktualizacji DML, aby zaktualizować endDate
aktualizacja Query1;
system.Debug („Zaktualizowano:”+query1);

Wyjście:

Po dodaniu 3 lat do „daty zakończenia” zaktualizowany rok to 2026.

Wniosek

Formatowanie daty w Salesforce Apex jest dość proste. W ramach tego samouczka nauczyliśmy się, jak konwertować „datę” z formatu „String” na „datę” przy użyciu metody ValueOF (), która jest dostępna w klasie „Data” APEX. Jeśli chcesz przekonwertować datę na ciąg, używamy atrybutów format () i daty takich jak dzień (), miesiąc () i rok (). Na koniec zakończyliśmy ten przewodnik, omawiając operację DML w obiekcie „kampanii” Salesforce, aby zaktualizować metody „Data zakończenia” za pomocą metod AddMonths () i Addyears () z osobnymi przykładami.