Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com

Home

 
4D v20 R7
Date

Date 


 

Date ( Ausdruck ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
Ausdruck  String, Datum in String, der das zurückzugebende Datum oder Ausdruck Datum angibt
Funktionsergebnis  Datum in Datum

Die Funktion Date bewertet Ausdruck und gibt ein Datum zurück.

Der Parameter Ausdruck muss entweder das ISO Datumsformat oder die regionalen Einstellungen, die im Betriebssystem definiert sind, befolgen.

ISO Datumsformat
Der String muss folgende Formatierung haben: JJJJ-MM-DDTHH:MM:SS", zum Beispiel "2013-11-20T10:20:00". In diesem Fall bewertet Date den Parameter Ausdruck korrekt, unabhängig von den aktuellen Spracheinstellungen. Es lassen sich auch dezimale Sekunden (Werte kleiner als 1 Sekunde) mit vorangestelltem Punkt hinzufügen, z.B.: "2013-11-20T10:20:00.9854".
Passt das Format Ausdruck nicht exakt in dieses ISO Schema, wird das Datum als abgekürztes Datumsformat bewertet, das sich nach den regionalen Einstellungen des Systems richtet.

Regionale Einstellungen
Passt das Format Ausdruck nicht zum ISO Format, werden zur Bewertung die regionalen Einstellungen verwendet, die im Betriebssystem als abgekürztes Format definiert sind. In der deutschen Version von 4D muss das Datum standardmäßig die Reihenfolge TT.MM.JJ (Tag, Monat, Jahr) haben. Monat und Tag können eine oder zwei Stellen haben, das Jahr kann zwei- oder vierstellig sein. Ist das Jahr zweistellig, bewertet Date je nach dem eingetragenen Wert, ob das Datum zum 21. oder 20. Jahrhundert gehört. Dabei gilt 30 standardmäßig als Schlüsselwert.

  • Einen Wert größer als oder gleich 30 wertet 4D als 20. Jahrhundert und fügt vor dem Wert 19 hinzu.
  • Einen Wert kleiner als 30 wertet 4D als 21. Jahrhundert und fügt vor dem Wert 20 hinzu.

Diese Standardeinstellung können Sie mit dem Befehl SET DEFAULT CENTURY verändern. Folgende Zeichen gelten als Trennung im Datum: Punkt (.), Komma (,), Schrägstrich (/) Bindestrich (-) und Leerzeichen.

  • Übergeben Sie in Ausdruck ein ungültiges Datum, z.B. "13.35.97" oder "aa.12.97", gibt Date ein leeres Datum zurück (00.00.00). Sie müssen selbst prüfen, dass Ausdruck ein gültiges Datum enthält.
  • Wird Ausdruck als undefiniert gewertet, gibt Date ein leeres Datum zurück (00/00/00). Das ist hilfreich, wenn als Ergebnis eines Ausdrucks ein Datum erwartet wird, auch wenn es undefiniert ist.

Hinweis: Ab 4D v16 R6 lassen sich Datumsangaben in Objektattributen als Datumstyp speichern. Weitere Informationen dazu finden Sie auf der Seite Kompatibilität unter der Option Verwende Datumstyp statt ISO Datumsformat in Objekten. Über die Funktion Value type erfahren Sie, ob das Datum im Objektattribut als Datumstyp oder als String abgespeichert ist (siehe letztes Beispiel).

Ausdruck Datum
Ist Ausdruck vom Typ Datum, gibt Date das im Parameter übergebene Datum genauso zurück. Das ist besonders hilfreich bei generischer Programmierung mit Zeigern oder Objektattributen.

Folgendes Beispiel fordert den Benutzer auf, ein Datum einzugeben. Die eingegebene Zeichenkette wird in ein Datum konvertiert und in der Variablen reqDate gespeichert:

 vdRequestedDate:=Date(Request("Gib das Datum ein:";String(Current date)))
 If(OK=1)
  ` Mach etwas mit dem in vdRequestedDate gespeicherten Datum
 End if

Hier sehen Sie verschiedene Fälle:

 vdDate:=Date("12/25/94") //12/25/94 auf einem US System
 vdDate2:=Date("40/40/94") //00/00/00
 vdDate3:=Date("Es war 6/30/2016") //06/30/16
 C_OBJECT($vobj)
 $vobj:=New object("expDate";"2020-11-17T00:00:00.0000")
 vdDate4:=Date($vobj.expDate//11/17/20
 vdDate5:=Date($vobj.creationDate//00/00/00

Das Datum wird nach einem Datum im ISO Format bewertet:

 $vtDateISO:="2013-06-05T20:00:00"
 $vDate:=Date($vtDateISO)
  //$vDate stellt 6. Juni 2013 dar, unabhängig von der Sprache des Systems.

Ein Datum aus einem Objektattribut erhalten, egal in welchem Format das Datum im aktuellen Attribut gespeichert wird:

 If(Value type($myObj.myDate)=Is date//Ist als Datumstyp gespeichert, muss nicht konvertiert werden
    $vDate:=$myObj.myDate
 Else //Ist als String gespeichert
    $vDate:=Date($myObj.myDate)
 End if



Siehe auch 

Bool
String

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Datum und Zeit
Nummer: 102

Dieser Befehl kann in preemptive Prozessen laufen

 
SEITENINHALT 
 
GESCHICHTE 

Erstellt: < 4D v6
Geändert: 4D v16 R5
Geändert: 4D v16 R6

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v20 R7)