1618 Stimmen

Delphi/Lazarus: Aktuelles Datum und Uhrzeit ausgeben

Tipp von Stefan Trost | Letztes Update am 03.06.2023 | Erstellt am 17.07.2014

Heute möchte ich euch zeigen, wie ihr in eurer Delphi- oder Lazarus-Anwendung das aktuelle Datum und/oder die aktuelle Uhrzeit anzeigen beziehungsweise ausgeben könnt.

Wichtig sind dafür eigentlich nur zwei Funktionen: Mit der Funktion "now" erhalten wir die aktuelle Zeit als Zeitstempel vom Typ TDateTime und mit FormatDateTime können wir diesen Zeitstempel in einen String verwandeln, der Datum und/oder Zeit in einer beliebigen frei steuerbaren Darstellungsweise enthält. Diesen String können wir dann weiter verarbeiten und an einer beliebigen Stelle in unserem Programm ausgeben.

Schauen wir uns dazu zunächst als Beispiel einen kleinen Code an, der das aktuelle Datum und die aktuelle Zeit über ShowMessage als Meldung ausgibt:

var
  s: string;
begin
  s := FormatDateTime('dd.mm.yyyy, hh:nn:ss', now);
  ShowMessage(s); 
end;

FormatDateTime benötigt zwei Parameter: Den Format-String und die darzustellende Zeit im Format TDateTime. Wir können hier als Zeit direkt die Funktion "now" verwenden, die auf diese Weise ihren Return-Wert direkt an die FormatDateTime-Funktion weitergeben kann.

Der Format-String

Über den Format-String können wir unser gewünschtes Format für das Datum und die Zeit angeben. In diesem String stehen bestimmte Buchstaben für die einzelnen Bestandteile des Datums und der Uhrzeit, so dass wir deren Ausgabe flexibel anpassen können.

Im Format-String steht "yyyy" beispielsweise für ein vierstelliges Jahr, "yy" für ein zweistelliges Jahr, "mm" für einen zweistelligen Monat und "dd", "hh", "nn" und "ss" entsprechend für Tag, Stunde, Minute und Sekunde mit je zwei Stellen und (je nach Bedarf) führenden Nullen falls die jeweiligen Werte kleiner als 10 ausfallen sollten. Falls wir stattdessen nur einen der beiden Buchstaben für Monat, Tag, Stunde, Minute oder Sekunde verwenden, wird die jeweilige Zahl ohne führende Nullen geschrieben.

In unserem Beispiel oben verwenden wir den Format-String "dd.mm.yyyy, hh:nn:ss". Das heißt wir beginnen mit dem Datum mit Punkten zwischen Tag, Monat und Jahr. Danach folgt mit einem Komma und einem Leerzeichen getrennt die Zeit mit einem Doppelpunkt zwischen Stunden, Minuten und Sekunden. Weitere Beispiele für andere Format-Strings möchten wir uns im nächsten Abschnitt ansehen.

Andere gebräuchliche Formatierungen

Andere Formatierungen des Datums und der Zeit sind möglich, indem man den Format-String entsprechend seinem eigenen Bedarf anpasst:

FormatDateTime('dd.mm.yyyy, hh:nn:ss', now); // 31.12.2023, 23:59:00
FormatDateTime('dd/mm/yyyy hh:nn:ss', now);  // 31/12/2023 23:59:00
FormatDateTime('dd/mm/yy', now);             // 31/12/99
FormatDateTime('yy/mm/dd', now);             // 99/12/31
FormatDateTime('yyyy/mm/dd', now);           // 2023/12/31
FormatDateTime('hh:nn:ss', now);             // 23:59:00
FormatDateTime('hh:nn', now);                // 23:59
FormatDateTime('yy-mm-dd-hh-nn-ss', now);    // 99-12-31-23-59-00
FormatDateTime('d.m.yyyy', now);             // 1.1.2000

Wie wir in den Beispielen sehen, können wir die Reihenfolge der einzelnen Komponenten beliebig ändern oder weglassen, die Zahlen ohne führende Nullen schreiben oder auch nur das Datum oder nur die Zeit alleine ausgeben.

Buchstaben mit Bedeutung im Format-String

Auch Buchstaben können innerhalb des Format-Strings verwendet werden. Dabei müssen wir aber aufpassen, falls wir Buchstaben verwenden möchten, die gleichzeitig auch für eine Zeit-Komponente stehen. Möchte man Zeichen wie "d" oder "y" nicht in ihre Zeitäquivalente umwandeln und stattdessen als solche beibehalten, muss man diese in doppelte Anführungszeichen (") stecken:

FormatDateTime('"day "d', now);             // day 31

Hier möchten wir das Wort "day" zusammen mit dem Tag ausgeben. Damit das "d" und das "y" in "day" auch als solche ausgeschrieben werden, setzen wir "day " in Anführungszeichen.

AntwortenPositivNegativ

Über den Autor

AvatarSoftware von Stefan Trost finden Sie auf sttmedia.de. Benötigen Sie eine individuelle Software nach Ihren eigenen Wünschen? Schreiben Sie uns: sttmedia.de/kontakt
Profil anzeigen

 

Ähnliche Themen

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.