AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Deutsche Datum nach Englisches Datum konvertieren?

Deutsche Datum nach Englisches Datum konvertieren?

Ein Thema von Karstadt · begonnen am 20. Jun 2006 · letzter Beitrag vom 21. Jun 2006
Antwort Antwort
Seite 1 von 2  1 2   
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#1

Deutsche Datum nach Englisches Datum konvertieren?

  Alt 20. Jun 2006, 13:00
Datenbank: Mysql • Version: 4.1 • Zugriff über: MYDAC
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
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Deutsche Datum nach Englisches Datum konvertieren?

  Alt 20. Jun 2006, 13:05
Schau mal in der Delphi-Hilfe nach 'FormatDateTime'
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#3

Re: Deutsche Datum nach Englisches Datum konvertieren?

  Alt 20. Jun 2006, 13:27
Delphi-Quellcode:
Function EnglischesDatum(Datum:TDateTime):String;
begin
  Result := FormatDateTime('yyyy-mm-dd', Datum);
end;
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
672 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Deutsche Datum nach Englisches Datum konvertieren?

  Alt 20. Jun 2006, 13:32
Zitat von Karstadt:
Bei MYSQL kann ich nur mit Englieschen Datum die Abfragen starten?
Nimm besser Parameter. Dann bist Du vom Datumsformat unabhängig.
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Deutsche Datum nach Englisches Datum konvertieren?

  Alt 20. Jun 2006, 13:38
Wie Joachim schon sagte:
Select * from Test where Datumsfeld = :datum und dann
Query.ParamByName('datum').AsDateTime := now; Wenn Du aber unbedingt das Datum konvertieren willst:
Delphi-Quellcode:
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;
Eine Liste aller gültigen LCIDs: List of Locale ID (LCID) Values as Assigned by Microsoft
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#6

Re: Deutsche Datum nach Englisches Datum konvertieren?

  Alt 20. Jun 2006, 14:24
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;
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Deutsche Datum nach Englisches Datum konvertieren?

  Alt 20. Jun 2006, 14:31
Ja, mit Params würde das so aussehen:
Delphi-Quellcode:
with tabelle do
begin
   Close;
   sql.text := 'SELECT * FROM TABELLE WHERE DATUM = :datumswert';
   ParamByName('datumswert').AsDateTime := StrToDateTime(ed_Datumfeld.text);
   Open;
end;
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.

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.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#8

Re: Deutsche Datum nach Englisches Datum konvertieren?

  Alt 20. Jun 2006, 14:39
Zitat:
Ja, mit Params würde das so aussehen:
...ich muss gestehen, ich sehe keinen klaren (besseren) unterschied als meine Abfrage ohne Param. Ich werde das auf jeden Fall ausprobieren, danke.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Deutsche Datum nach Englisches Datum konvertieren?

  Alt 20. Jun 2006, 14:42
Dir ist aber schon aufgefallen, dass so die Funktion EnglischesDatum() nicht benötigt wird

[edit] Und QuotedStr() auch nicht [/edit]
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#10

Re: Deutsche Datum nach Englisches Datum konvertieren?

  Alt 20. Jun 2006, 14:47
..das ist das..
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz