AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ISO 8601 Datum vergleichen

Ein Thema von DieDolly · begonnen am 22. Mär 2020 · letzter Beitrag vom 23. Mär 2020
Antwort Antwort
Seite 2 von 2     12   
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#11

AW: ISO 8601 Datum vergleichen

  Alt 22. Mär 2020, 23:51
Zitat:
Vielleicht wäre jetzt ein guter Zeitpunkt deinen bisherigen Code zu zeigen?
Es gibt keinen? Deswegen frage ich doch hier.

Also kann man das alles als String lassen und so vergleichen? Wie vergleicht man dann ein Datum 1 und ein Datum 2?

Der Hintergrund ist ganz einfach: ich speichere aktuell verschiedene Werte als Timestamp. Und irgendwann demnächst ist der halt... zu Ende und würde überlaufen.
Deswegen möchte ich das schon frühzeitig alles abändern.
Ich vergleiche sehr oft Werte wie "Datum 1 > Datum 2" und rechne das vorher in Integer/Sekunden.

Oder sollte man intern nur mit TDateTime arbeiten und vergleichen und nur zum Speichern das lange Format nehmen?
Man lädt das Format ein, konvertiert es einmalig in TDateTime um und das wars.

Geändert von DieDolly (23. Mär 2020 um 01:37 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#12

AW: ISO 8601 Datum vergleichen

  Alt 23. Mär 2020, 02:50
Wenn Datum 1 und Datum 2 als ISO 8601 vorliegen, kannst du sie genauso, wie Strings, vergleichen. Wo ist jetzt dein Problem oder Frage?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#13

AW: ISO 8601 Datum vergleichen

  Alt 23. Mär 2020, 08:09
Das ISO-Datum in seiner vollen Ausprägung hat ja auch noch einen Zeit-Anteil incl. Zeitzone das ist dann etwas unübersichtlicher. TDatetime oder ein Timestamp sind immer vollständig, liegt es daran? Welche Daten liegen denn vor?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#14

AW: ISO 8601 Datum vergleichen

  Alt 23. Mär 2020, 08:52

Der Hintergrund ist ganz einfach: ich speichere aktuell verschiedene Werte als Timestamp. Und irgendwann demnächst ist der halt... zu Ende und würde überlaufen.
Nein. Jedenfalls nicht zu unseren Lebzeiten, es sei denn, Du hast ein eigenes Timestamp erfunden und nutzt darin SmallInt um Sekunden seit 01.01.2020 darzustellen . Seit man bis 2038 gedacht hat, haben Unix-Timestamps int64 als Datentyp... das reicht.

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#15

AW: ISO 8601 Datum vergleichen

  Alt 23. Mär 2020, 13:28
Heißt das die 2038 Grenze gibt es nicht mehr?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#16

AW: ISO 8601 Datum vergleichen

  Alt 23. Mär 2020, 13:52
Doch, aber nur wenn die Variable in 31 Bit vorliegt.
Und wenn doch, dann ist immernoch lange Zeit. (der Klimawandel ertränkt uns eh vorher)

Integer springt 2038 ins Negative und mit einem Unsigned-Integer hast sogar noch bis 2106 deine Ruhe.
* ab 2038 Probleme mit Integer-Vergleichen
* ab 2106 Datenverlust, bzw. Sprung in die Vergangenheit (1970), weil zuwenige Bit
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (23. Mär 2020 um 13:57 Uhr)
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#17

AW: ISO 8601 Datum vergleichen

  Alt 23. Mär 2020, 14:31
Ich stelle alles auf 64bit Integer um das sollte erstmal reichen. Oder Cardinal?
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#18

AW: ISO 8601 Datum vergleichen

  Alt 23. Mär 2020, 15:29
Wenn Du keine negativen Timestamps benötigen solltest ist unsignedInt wohl Mittel der Wahl.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 03:53 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