Entwickler-Ecke

Sonstiges (Delphi) - Mit Datum rechnen auch auf anders sprachigen WinOS


Biarchiv - Mi 01.11.06 15:21
Titel: Mit Datum rechnen auch auf anders sprachigen WinOS
Hallo,

hab folgendes Problem.
Auf anders sprachigen Betriebssystemen ist auch meist das Datumsformat anders.

Es liegt ein Datum immer im folgenden Format im string regzeit vor:
TT.MM.JJJJ

Nur wenn ich schauen will ob dieses Datum älter oder neuer als das aktuelle ist hab
ich das Problem mit mit den anderen Zeitformaten.

Ich könnte ich die Zechnerdatum immer in folgendes Format bringen: TT.MM.JJJJ

Ich hatte mal versucht die Formate rauszulesen, geht aber nicht richtig.



Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
//if (StrToDate(regzeit) < date) then zeit := '0';
DecodeDate(StrToDate(regzeit), jahr1, monat1, tag1);
DecodeDate(date, jahr, monat, tag);
if (jahr1 <= jahr) then
  begin
  if (monat1 <= monat) and (tag1 <= tag) then zeit := '0';
  end;


Für eure Hilfe währe ich dankbar.

Moderiert von user profile iconUGrohne: Code- durch Delphi-Tags ersetzt


Udontknow - Do 02.11.06 17:23

Hallo!

Wieso legst du das Datum denn nicht einfach als Date ab, und nicht als String?

Wenn es unbedingt String sein soll: Es gibt die Variablen ShortDateFormat und LongDateFormat, damit kannst du innerhalb der Anwendungen das Format auslesen bzw. auch ändern.

Cu,
Udontknow


Biarchiv - Do 02.11.06 22:30

Hallo,

da liegt das Problem. Ich hab so einen Art UpdateCheck mit Datum. Nun kann ich aber nur ein Datumformat Online zu Verfügung stellen, sonst muss ich wieder prüfen welches das richtige ist.

Er soll das Datum vom UpdateCheck prüfen ob es älter oder in die Zukunft liegt.
Damit weiß ich ob er noch Updateberechtigt ist.


wulfskin - Fr 03.11.06 00:00

Hallo,

trotzdem spricht doch nichts dagegen, dass Datum eben binär oder nicht, auf jeden Fall als Gleitkommazahl abzulegen und dann kannst du es auch direkt laden! Ansonsten hast du ja oben den Tipp, wie es geht.

Gruß Hape!


hui1991 - Fr 03.11.06 00:34

Hallo,

ich würde das Vergleichen mit dem Unix-Timestamp machen, weil so alles vergleichen ist schon schwer.

MfG
hui1991


alias5000 - Fr 03.11.06 03:47

Das alles ist möglich...
Schau einfach mal in der Delphi Hilfe nach, welche Funktionen die Unit "DateUtils" bietet. Da sollte viel für dich dabei sein.

Gruß alias5000


Delete - Fr 03.11.06 22:31

user profile iconBiarchiv hat folgendes geschrieben:
Hallo,

da liegt das Problem. Ich hab so einen Art UpdateCheck mit Datum. Nun kann ich aber nur ein Datumformat Online zu Verfügung stellen, sonst muss ich wieder prüfen welches das richtige ist.


wie wär's denn mit dem ISO Datumsformat? [url]de.wikipedia.org/wiki/Datumsformat[/url]