AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Datum wird nach "FormatDateTime" falsch ausgegeben
Thema durchsuchen
Ansicht
Themen-Optionen

Datum wird nach "FormatDateTime" falsch ausgegeben

Ein Thema von DieFliege · begonnen am 16. Jul 2015 · letzter Beitrag vom 24. Jul 2015
Antwort Antwort
Seite 3 von 3     123   
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#21

AW: Datum wird nach "FormatDateTime" falsch ausgegeben

  Alt 23. Jul 2015, 08:40
Zitat:
***** Da ich eine Lösung gefunden habe, bitte ich um Schließung des Themas um weitere Diskussionen zu vermeiden - Vielen Dank *****
Dann wäre es nett, wenn Du diese hier Nennen würdest.
Hat er doch.

Zu meiner Lösung:
Ich habe das eingegebene Datum (mit oder ohne "19-hundert") mit dem aktuellen Datum verglichen und geprüft ob dieses "größer" ist als das aktuelle. Sollte es größer sein, ziehe ich 100 ab, sonst nicht. Sicherlich ist es eleganter zu lösen, da ich das Datum aber anschließend im ISO-Format ausgeben möchte, kann ich das Datum "manuell" zusammen setzen und damit gut mit meiner Lösung leben.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
DieFliege

Registriert seit: 6. Aug 2013
54 Beiträge
 
Delphi XE4 Professional
 
#22

AW: Datum wird nach "FormatDateTime" falsch ausgegeben

  Alt 23. Jul 2015, 16:05
Noch einmal hallo zusammen.

Wunschgemäß führe ich hier einmal meine Funktion auf, mit der ich das Datum nun umstelle:

Delphi-Quellcode:
function ISODate(DateEU: String): String;
var
  datum_heute : Integer;
  ISO_jahr : String;
  EU_tag : String;
  EU_monat : String;
  EU_jahr : Integer;
  ISODatum : String;

begin
  datum_heute := CurrentYear;

  EU_tag := FormatDateTime('dd', StrToDateTime(DateEU));
  EU_monat := FormatDateTime('mm', StrToDateTime(DateEU));
  EU_jahr := StrToInt(FormatDateTime('yyyy', StrToDateTime(DateEU)));
    if EU_jahr > datum_heute then EU_jahr := EU_jahr -100;
  ISO_jahr := IntToStr(EU_jahr);
  ISODatum := ISO_jahr + '-' + EU_monat + '-' + EU_tag;

  ISODate := ISODatum;
end;
Sicherlich geht es noch kürzer, ich habe mir jedoch gedacht, lieber etwas ausführlicher schreiben um es auch später irgendwann mal wieder nachvollziehen zu können.

Ich bedanke mich noch einmal für die entgegengebrachte Hilfe und wünsche allen ein schönes Wochenende.

LG Micha
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

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

AW: Datum wird nach "FormatDateTime" falsch ausgegeben

  Alt 24. Jul 2015, 10:39
So wär's vielleicht besser:
Delphi-Quellcode:
function IsoDate(const DateEU : string) : TDateTime;
var
  LFs : TFormatSettings;
begin
  LFs := TFormatSettings.Create;
  LFs.TwoDigitYearCenturyWindow := 99;
  Result := StrToDateTime(DateEU, LFs);
end;
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 19:00 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