Salesforce Apex – Datumsformat

Salesforce Apex Datumsformat



Die Nachverfolgung der Kundendaten in Konten/Kontakten ist im Customer Relationship Management (CRM) sehr wichtig. Basierend auf dem Datum finden alle Prozesse wie Einkauf, Angebotserstellung und Wartung statt. Sehen wir uns an, wie Sie das Datum aus einer Zeichenfolge in Salesforce erstellen und das Datum in eine Zeichenfolge konvertieren. Als Teil dieses Tutorials sehen wir auch die Methoden, die auf das formatierte Datum angewendet werden, wie das Hinzufügen von Tagen, Jahren, Monaten usw., mit Beispielen.

Apex-Datumsklasse

Die Date-Klasse unterstützt alle primitiven Datumsmethoden. Es verwendet den Namensraum „System“. Wir können die Methode valueOf() dieser Klasse verwenden, um den String in ein Datumsformat zu konvertieren. Nach dem Formatieren des Datums wenden wir einige Methoden an, um die Tage, Monate, Jahre usw. zu diesem formatierten Datum hinzuzufügen, indem wir einige Methoden verwenden, die auch in dieser Datumsklasse verfügbar sind.







Zuerst werden wir sehen, wie die Zeichenfolge mit der Methode valueOf() in Salesforce Apex in das Datum konvertiert wird.



Datum.valueOf()

Der valueOf() in Apex ist in der „Date“-Klasse verfügbar, die die Zeichenfolge als Argument verwendet, das die angegebene Zeichenfolge in das Datumsformat konvertiert. Die Eingabezeichenfolge (Parameter) enthält drei Attribute – Jahr, Monat und Tag. Alle diese drei werden kombiniert/verkettet und an die Methode übergeben.



Syntax: ValueOf()

Wie bereits erwähnt, müssen wir eine Variable der Klasse „Date“ deklarieren und ihr den String übergeben.





Datum date_variable= date.valueOf(string_date_format);

Beispiel:

Schritt 1:

Lassen Sie uns einen String haben, der „Jahr-Monat-Tag“ enthält.

// Deklarieren Sie nacheinander Jahr, Monat und Tag

Zeichenfolge Jahr = '2023';

Zeichenfolge Monat = '4';

Zeichenfolge Tag = '5';

// Alle zu einem String verketten

String string_type = Jahr + '-' + Monat + '-' + Tag;

system.debug (string_type);

Ausgang:



Schritt 2:

Konvertieren Sie nun die vorherige „Date“-Zeichenfolge in „Date“, indem Sie die Methode valueOf() aus der Apex-Klasse „Date“ verwenden.

// Zeichenfolge-Datum in Datum umwandeln

Datum konvertiertes_Datum = date.valueOf(string_type);

system.debug (konvertiertes_datum);

Ausgang:

Wir können sehen, dass nach der Konvertierung in „Date“ automatisch das Datum im DateTime-Format zurückgegeben wird. Die Zeit (Stunden:Minuten:Sekunden) wird nicht berücksichtigt, selbst wenn Sie diese an die Methode valueOf() übergeben. Das zurückgegebene Format ist JJJJ-MM-TT HH:MM:SS.

Konvertieren Sie das Datum in eine Zeichenfolge

Es gibt zwei Möglichkeiten, das „Datum“ in „Zeichenfolge“ umzuwandeln. Eine von Apex unterstützte Methode ist die Verwendung der Methode format(). Die andere Möglichkeit ist das manuelle Extrahieren der „Datum“-Attribute (Jahr, Monat und Tag) und deren Verkettung zu einer Zeichenfolge. Schauen wir sie uns nacheinander an.

1. formatieren ()

Die Methode format() ist in der Klasse „Date“ in Apex verfügbar, die das „Date“ in die Zeichenfolge im Format „M/D/YYYY“ umwandelt. Wir können dieser Methode auch das angegebene Format als Parameter übergeben. Das angegebene Format ist das Standardformat.

Syntax:

input_date.format(“format_typ”)

Beispiel:

Betrachten wir das vorherige Beispiel und wandeln das „Date“ mit der Methode format() in „String“ zurück. Wir stellen der Methode format() kein bestimmtes Format zur Verfügung.

// Deklarieren Sie nacheinander Jahr, Monat und Tag

Zeichenfolge Jahr = '2023';

Zeichenfolge Monat = '4';

Zeichenfolge Tag = '5';

// Alle zu einem String verketten

String string_type = Jahr + '-' + Monat + '-' + Tag;

// Zeichenfolge-Datum in Datum umwandeln

Datum konvertiertes_Datum = date.valueOf(string_type);

system.debug (konvertiertes_datum);

// Format()

system.debug (converted_date.format());

Ausgang:

2. Verwenden der Datumsklassenmethode

In diesem Szenario extrahieren wir das Jahr, den Monat und den Tag separat aus dem „Datum“, indem wir die verfügbaren Methoden in der Apex-Klasse „Datum“ verwenden. Als Nächstes verketten wir diese drei, um das „Datum“ im „String“-Format zurückzugeben.

  1. Tag() – Diese Methode wird verwendet, um das Datum aus dem „Datum“ zu extrahieren. Es gibt die Ganzzahl zurück, die das Datum angibt.
  2. Monat() – Diese Methode wird verwendet, um den Monat aus dem „Datum“ zu extrahieren. Es gibt die Ganzzahl zurück, die die Monatsnummer angibt. Wir können uns auf den 1. Januar beziehen, auf den 2. Februar…. Dezember als 12.
  3. Jahr() – Diese Methode wird verwendet, um das Jahr aus dem „Datum“ zu extrahieren. Es gibt das Jahr in einem vierstelligen Format zurück.

Syntax:

input_date.year() + '-' + input_date.month() + '-' + input_date.day()

Beispiel:

Konvertieren Sie das „Datum“ zurück in „Zeichenfolge“ im Format „JJJJ-M-T“.

// Deklarieren Sie nacheinander Jahr, Monat und Tag

Zeichenfolge Jahr = '2023';

Zeichenfolge Monat = '4';

Zeichenfolge Tag = '5';

// Alle zu einem String verketten

String string_type = Jahr + '-' + Monat + '-' + Tag;

// Zeichenfolge-Datum in Datum umwandeln

Datum konvertiertes_Datum = date.valueOf(string_type);

system.debug (konvertiertes_datum);

// Konvertiere Datum in String

system.debug(converted_date.year() + '-' + converted_date.month() + '-' + converted_date.day());

Ausgang:

Praxisbeispiele:

Sehen wir uns an, wie Sie das „Datum“ aktualisieren, indem Sie Tage, Jahre und Monate zum vorhandenen Datum in den Salesforce-Objekten hinzufügen. Alle drei Methoden nehmen die Ganzzahl „n“ als Argument.

1. addDays()

Um Tage zum bestehenden Datum hinzuzufügen, unterstützt Apex die Methode addDays(), die in der Klasse „Date“ verfügbar ist.

2. addMonate()

Um Monate zum bestehenden Datum hinzuzufügen, unterstützt Apex die addMonths()-Methode, die in der „Date“-Klasse verfügbar ist.

3. addYears()

Um Jahre zum vorhandenen Datum hinzuzufügen, unterstützt Apex die addYears()-Methode, die in der „Date“-Klasse verfügbar ist.

Syntax:

Schauen wir uns die Syntax für diese drei Methoden an. Hier gibt „n“ den ganzzahligen Wert an.

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

Bevor Sie mit dem Beispiel fortfahren, sollten Sie Folgendes berücksichtigen:

  1. Melden Sie sich bei Salesforce an und gehen Sie zum „App Launcher“ und suchen Sie auf der Registerkarte nach „Kampagne“. Hier fügen wir den „Kampagnennamen“ und das „Enddatum“ ein.

  1. Wählen Sie „Kampagnen“ und klicken Sie auf „Neu“.

  1. Ein Popup erscheint, um die Daten in die Kampagne einzufügen. Fügen Sie „Linux Hint Posts“ unter „Campaign Name“ hinzu und legen Sie als „End Date“ den 5.4.2023 fest. Klicken Sie dann auf „Speichern“.

Wir sind fertig mit der Platte. (Typ – Konferenz und Status – Geplant kommen automatisch. Lassen Sie das). Lassen Sie uns das anonyme Fenster in der Entwicklerkonsole öffnen.

Beispiel 1:

Lassen Sie uns die Methode addDays() verwenden, um 10 Tage zum bestehenden „Enddatum“ im Objekt „Kampagne“ hinzuzufügen.

  1. Dazu müssen wir zuerst die SOQL-Abfrage verwenden, um den Datensatz aus dem „Campaign“-Objekt abzurufen und diesen Datensatz in einem „List“-Objekt zu speichern.
  2. Als nächstes verwenden wir die „for“-Schleife, um die Liste zu durchlaufen, und verwenden die Methode addDays(), um 10 Tage zum „Enddatum“ hinzuzufügen.
  3. Schließlich verwenden wir die „update DML“-Anweisung, um das „End Date“ im „Campaign“-Objekt zu aktualisieren.
// Namen und Enddatum aus der Kampagne mit SOQL zurückgeben

List query1 = [SELECT Name,EndDate FROM Campaign WHERE Name = 'Linux Hint Posts'];

// Fügen Sie 10 Tage zum EndDate hinzu, indem Sie die Methode addDays() verwenden

for(Kampagne i: Abfrage1){

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

}

// Update-DML verwenden, um EndDate zu aktualisieren

Abfrage1 aktualisieren;

system.debug (Abfrage1);

Ausgang:

Das bisherige „Enddatum“ ist der 5. April. Nachdem 10 Tage hinzugefügt wurden, ist das „Enddatum“ jetzt der 15. April.

Wir können auch auf der Registerkarte „Kampagne“ nachsehen. Gehen Sie zurück und aktualisieren Sie die Seite. Sie können sehen, dass das „Enddatum“ aktualisiert wird.

Beispiel 2:

Lassen Sie uns die Methode addMonths() verwenden, um 3 Monate zum bestehenden „Enddatum“ hinzuzufügen.

// Namen und Enddatum aus der Kampagne mit SOQL zurückgeben

List query1 = [SELECT Name,EndDate FROM Campaign WHERE Name = 'Linux Hint Posts'];

system.debug('Aktuell: '+query1);

// Fügen Sie 3 Monate zum EndDate hinzu, indem Sie die Methode addMonths() verwenden

für(Kampagne i: Abfrage1){

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

}

// Update-DML verwenden, um EndDate zu aktualisieren

Abfrage1 aktualisieren;

system.debug('Aktualisiert: '+query1);

Ausgang:

Der Vormonat im „Enddatum“ ist April. Nachdem wir 3 Monate hinzugefügt haben, ist es jetzt Juli.

Beispiel 3:

Verwenden wir die Methode addYears(), um 3 Jahre zum bestehenden „Enddatum“ hinzuzufügen.

// Namen und Enddatum aus der Kampagne mit SOQL zurückgeben

List query1 = [SELECT Name,EndDate FROM Campaign WHERE Name = 'Linux Hint Posts'];

system.debug('Aktuell: '+query1);

// Fügen Sie 3 Jahre zum EndDate hinzu, indem Sie die Methode addYears() verwenden

für(Kampagne i: Abfrage1){

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

}

// Update-DML verwenden, um EndDate zu aktualisieren

Abfrage1 aktualisieren;

system.debug('Aktualisiert: '+query1);

Ausgang:

Nach Hinzufügen von 3 Jahren zum „Enddatum“ ist das aktualisierte Jahr 2026.

Abschluss

Das Formatieren des Datums in Salesforce Apex ist ganz einfach. Als Teil dieses Tutorials haben wir gelernt, wie man das „Date“-Format vom „String“-Format in „Date“ konvertiert, indem man die valueOf()-Methode verwendet, die in der Apex „Date“-Klasse verfügbar ist. Wenn Sie das Datum zurück in einen String umwandeln möchten, verwenden wir die format()- und Datumsattribute wie day(), month() und year(). Abschließend beendeten wir diesen Leitfaden mit der Erörterung der DML-Operation für das Salesforce-Objekt „Campaign“, um das „Enddatum“ mithilfe der Methoden addDays(), addMonths() und addYears() mit separaten Beispielen zu aktualisieren.