![]() |
Datenbank: Mysql • Version: 4.1 • Zugriff über: MYDAC
Deutsche Datum nach Englisches Datum konvertieren?
Hallo. Gibt Es eine Funktion die mir das Deutsche Datum in Englisches Datum formatiert?
Bei MYSQL kann ich nur mit Englieschen Datum die Abfragen starten? momentan gehe ich so vor das ich Jahr, Monat, Tag auslese und in der Richtige Reihenfolge setze incl. '-'. ..mich würde Interessieren ob es vielleicht eine Funktion gibt, die schon in D7 Pro integriert ist.. Danke |
Re: Deutsche Datum nach Englisches Datum konvertieren?
Schau mal in der Delphi-Hilfe nach 'FormatDateTime'
|
Re: Deutsche Datum nach Englisches Datum konvertieren?
Delphi-Quellcode:
:P
Function EnglischesDatum(Datum:TDateTime):String;
begin Result := FormatDateTime('yyyy-mm-dd', Datum); end; |
Re: Deutsche Datum nach Englisches Datum konvertieren?
Zitat:
|
Re: Deutsche Datum nach Englisches Datum konvertieren?
Wie Joachim schon sagte:
SQL-Code:
und dann
Select * from Test where Datumsfeld = :datum
Delphi-Quellcode:
Wenn Du aber unbedingt das Datum konvertieren willst:
Query.ParamByName('datum').AsDateTime := now;
Delphi-Quellcode:
Eine Liste aller gültigen LCIDs:
procedure TForm1.TestButtonClick(Sender: TObject);
const LCID_ENUS : integer = 1033; var dtDatum : TDate; FormatSettings : TFormatSettings; begin dtDatum := date; Sysutils.GetLocaleFormatSettings(LCID_ENUS, FormatSettings); ShowMessage(DateToStr(dtDatum, FormatSettings)); end; ![]() |
Re: Deutsche Datum nach Englisches Datum konvertieren?
Das mit Param muss ich mir anschauen..
bzw.würde das auch mit Param funktionieren?
Delphi-Quellcode:
with tabelle do
begin Close; sql.text := 'SELECT * FROM TABELLE WHERE DATUM = '+QuotedStr(EnglischesDatum(StrToDateTime(ed_Datumfeld.text)); Open; end; aber diese Funktion würde doch auch funktionieren?
Delphi-Quellcode:
Function EnglischesDatum(Datum:TDateTime):String;
begin Result := FormatDateTime('yyyy-mm-dd', Datum); end; |
Re: Deutsche Datum nach Englisches Datum konvertieren?
Ja, mit Params würde das so aussehen:
Delphi-Quellcode:
Nur sollte die Eingabe in dem Datumsfeld vorher geprüft werden ob es ein gültiges Datum darstellt bzw. Du verwendest gleich eine entsprechende Eingabekomponente die von sich aus nur gültige Datumseingaben zuläßt.
with tabelle do
begin Close; sql.text := 'SELECT * FROM TABELLE WHERE DATUM = :datumswert'; ParamByName('datumswert').AsDateTime := StrToDateTime(ed_Datumfeld.text); Open; end; Das mit dem FormatDateTime klappt natürlich auch. Aber wenn man mit Datums- und Zeitwerten arbeitet, sollte man auch möglichst die dafür vorgesehenen Datentypen verwenden. Das macht dann auch Berechnungen viel einfacher und man spart sich jede Menge Umwandlungen. |
Re: Deutsche Datum nach Englisches Datum konvertieren?
Zitat:
|
Re: Deutsche Datum nach Englisches Datum konvertieren?
Dir ist aber schon aufgefallen, dass so die Funktion EnglischesDatum() nicht benötigt wird :stupid:
[edit] Und QuotedStr() auch nicht [/edit] |
Re: Deutsche Datum nach Englisches Datum konvertieren?
:P ..das ist das..
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz