![]() |
Datumsformatierung Englisches und Deutsches Format
Hallo,
und zwar habe ich das Problem, dass ich ein Feld (in einem array) habe, in dem ein Datum steht, entweder im Deutschen oder im Englischen Datumsformat. Ich will allerdings nach dem Datum sortieren, was natürlich nicht funktioniert, wenn die nicht das selbe format haben. jetzt würde ich beim füllen des arrays gern das datum so formatieren, dass es immer das selbe format hat.
Code:
das hat leider überhaupt keine auswirkungen ... und das versteh ich nich so recht
var
Datum : TDateTime; .. FormatDateTime(dxMemData.FieldByName('GueltigAb').AsString, Datum); hat jemand eine idee, was da falsch läuft ? mfg Freiwilderer |
Re: Datumsformatierung Englisches und Deutsches Format
Zitat:
|
Re: Datumsformatierung Englisches und Deutsches Format
danke für die schnelle antwort
das arrayfeld is ein string |
Re: Datumsformatierung Englisches und Deutsches Format
Ließe sich das ohne großen Aufwand in TDate ändern? Ansonsten wäre das u.U. eine aufwändige Geschichte, da man das Format ja zunächst ermitteln müsste.
|
Re: Datumsformatierung Englisches und Deutsches Format
weiß nich genau, ob sich das ohne probleme ändern lassen würde
geb mir 10 minuten, ich probiers kurz aus .. |
Re: Datumsformatierung Englisches und Deutsches Format
...
jetzt hab ich nich richtig nachgedacht das problem is ja, dass ich die daten aus feldern mit strings in das array packe und, wenn da nicht das richtige datum in das datums array feld geschrieben wird, funktionierts natürlich genau so wenig falls ich gleich nicht mehr antworte is das keine böse absicht, sondern schneefallbedingter feierabend ... mir wurd grad gesagt, dass wir uns das noch 10 minuten angucken und sonst die zelte abbrechen ;) edit: und whao, es waren genau 10 minuten |
Re: Datumsformatierung Englisches und Deutsches Format
Nun komm ich nicht ganz mit. Du befüllst ein Array of String? Aus welcher Quelle denn?
|
Re: Datumsformatierung Englisches und Deutsches Format
also
ich habe ein Grid. in diesem grid befinden sich Daten aus einer Datenbank. das feld Datum hat das englische format, wird aber im deutschen angezeigt. jetzt füge ich aus der zwischenablage neue werte zusätzlich in das grid ein. (die daten aus der zwischenablage haben das deutsche format) dann werden die daten im grid in ein array gespeichert und dieses array nach bestimmten kriterien sortiert. anschließend werden die daten verglichen, evtl. verändert und dann wieder in das grid geschrieben. das ganze ist eine plz liste, mit den feldern plzvon, plzbis, gültig ab und ich möchte beim einfügen von daten aus der zwischenablage prüfen, ob es überschneidungen bei den plz bereichen gibt (deswegen das sortieren usw im array) |
Re: Datumsformatierung Englisches und Deutsches Format
Und in der DB ist das Feld auch ein String? Das wäre blöde.
|
Re: Datumsformatierung Englisches und Deutsches Format
nee,
in der db is das feld ein Date das problem, das ich hab is einfach, dass ich auf den editvalue des grids zugreifen muss, um das array zu füllen und das is nunmal ein string |
Re: Datumsformatierung Englisches und Deutsches Format
Dann schien der Ansatz mit FormatDateTime ja gar nicht so schlecht gewesen zu sein (zumindest, wenn ich das Ganze halbwegs richtig verstehe).
Delphi-Quellcode:
var
Datum : string; .. Datum := FormatDateTime('dd.mm.yyyy',dxMemData.FieldByName('GueltigAb').AsDate); |
Re: Datumsformatierung Englisches und Deutsches Format
Wie wäre es denn mit dem ISO-Datum?
YYYY-MM-DD Das ist etwas sortierfreundlicher. ( ![]() Gruß K-H |
Re: Datumsformatierung Englisches und Deutsches Format
Noch besser fände ich es allerdings, die Daten gleich sortiert aus der DB abzufragen, der Rest ist ja nur noch eine Frage der Darstellung.
|
Re: Datumsformatierung Englisches und Deutsches Format
hi
haben gestern tatsächlich abgebrochen hier und haben bis jetzt den weg wieder freigeschippt ;) ich versuch das gleich mal mit dem datumsformat und meld mich kurz, obs geklappt hat danke schonmal ich kann das allerdings nich sortiert aus der DB holen, weil ja nich alle daten, die ich vergleiche in der DB sind ;) ich zieh daten aus der DB, füge neue daten aus der zwischenablage ein und sortiere dann... bis denn |
Re: Datumsformatierung Englisches und Deutsches Format
ok
das klappt nich problem is nämlich, dass ich kein .asDate machen kann, weil ich kein DB Feld sondern ein editvalue in einem grid hab werd wohl einfach prüfen müssen, ob in dem string in . oder ein - drin is und entsprechend drauf reagieren ^^ |
Re: Datumsformatierung Englisches und Deutsches Format
so gehts
... nich grad schön, aber es klappt wenigstens ;)
Delphi-Quellcode:
mfg
if pos('.',cxgPLZGebietDBTableView1.GetColumnByFieldName('GueltigAb').EditValue) > 0 then
recTmpGrid[dxMemData.RecNo - 1].GueltigAb := cxgPLZGebietDBTableView1.GetColumnByFieldName('GueltigAb').EditValue else begin recTmpGrid[dxMemData.RecNo - 1].GueltigAb := copy(cxgPLZGebietDBTableView1.GetColumnByFieldName('GueltigAb').EditValue,9,2) + '.' + copy(cxgPLZGebietDBTableView1.GetColumnByFieldName('GueltigAb').EditValue,6,2) + '.' + copy(cxgPLZGebietDBTableView1.GetColumnByFieldName('GueltigAb').EditValue,1,4) end; Freiwilderer [edit=mkinzler]Code-Tag durch Delphi-Tag ersetzt Mfg, mkinzler[/edit] |
Re: Datumsformatierung Englisches und Deutsches Format
Hai Freiwilderer,
ich möchte Dir heute eine super neue Funktion des Forums vorstellen. Diese nennt sich Edit. Damit hast Du die Möglichkeit einen Beitrag denn Du geschrieben hast um neue Informationen zu ergänzen ohne einen neuen Beitrag erzeugen zu müssen (was im allgemeinen als "pushen" bezeichnet wird). :!: :stupid: |
Re: Datumsformatierung Englisches und Deutsches Format
hi
die funktion gibts schon länger, ich kenne sie auch (wie man an einem beitrag von gestern erkennt) allerdings waren es ja eher statusmeldungen, die eine zeitliche verfolgung durchaus sinnvoll machen. außerdem hatte ich ja drauf gehofft evtl. noch neue anregungen zwischendurch zu bekommen, weshalb es gut war, dass zwischendurch erkennbar war, dass sich in dem thread was getan hat. und außerdem bin ich jetzt ja fertig und die lösung is durchaus n eigenen beitrag wert, finde ich also lassen wird das jetzt, denn jetzt wurde dieser thread wirklich zweimal total unsinnig gepusht :D bis dann |
Re: Datumsformatierung Englisches und Deutsches Format
Danke für die Aufklärung, wie du dein Handeln siehst. Für uns ist es Pushen, und das ist nicht erwünscht!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:16 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