AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Datum als Integer und zurück
Thema durchsuchen
Ansicht
Themen-Optionen

Datum als Integer und zurück

Ein Thema von franktron · begonnen am 14. Nov 2018 · letzter Beitrag vom 15. Nov 2018
Antwort Antwort
Seite 1 von 2  1 2      
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Datum als Integer und zurück

  Alt 14. Nov 2018, 10:09
Ich habe einen Alten Code (Delphi 2010 32 Bit)

cbTargetDate.Date := Trunc(TheOperation^.Process^.TargetDate); cbTargetDate.Date is TDateTime
TargetDate ist Integer

Jetzt habe ich einen Neuen Code in XE10.2 gemacht und da kommt nur noch müll raus Datum > Jahr 4000
Start:=Trunc(Operationen.Items[i].StartDate);
Selbe Konstellation wie in Delphi 2010

Was ist da der unterschied

P.S. die Daten (Datum als Integer kommen von eine MS SQL Server)
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
DieDolly

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

AW: Datum als Integer und zurück

  Alt 14. Nov 2018, 10:12
Wie sieht der Integer aus? Ist das im ISO-Format yyyymmddd? Wenn ja musst du das erst auseinandernehmen und daraus dann einen TDateTime bauen.
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

AW: Datum als Integer und zurück

  Alt 14. Nov 2018, 10:24
So wird das im Alten Programm gespeichert

 DBProcess.TargetDate := Trunc(cbTargetDate.Date);
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
DieDolly

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

AW: Datum als Integer und zurück

  Alt 14. Nov 2018, 10:28
Das beantwortet leider nicht die Frage, wie der Integer genau aufgebaut ist.
Es kann yyyymmdd in jeglicher Variante sein oder auch ein deformierter Timestamp.
Zum Umrechnen in einen TDate muss man jetzt glaube ich genau wissen, wie der Integer aussieht.
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#5

AW: Datum als Integer und zurück

  Alt 14. Nov 2018, 10:31
Der Aufbau ist leider nicht zu erkennen das ist ein Zahl die keine Aufbau vermuten lässt.
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
DieDolly

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

AW: Datum als Integer und zurück

  Alt 14. Nov 2018, 10:34
Wenn das nicht gerade ein Standardformat ist könnte das Umformatieren schwierig werden.
Vielleicht kann ja irgendein anderer helfen.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.021 Beiträge
 
Delphi 12 Athens
 
#7

AW: Datum als Integer und zurück

  Alt 14. Nov 2018, 10:36
Der Ganzzahlanteil von TDateTime gibt die Anzahl Tage seit dem 30.12.1899 an. Das hat sich zwischen D2010 und 10.2 nicht geändert. Eventuell gibt es Diskrepanzen in der folgenden Verarbeitung bis zur Anzeige des Wertes?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#8

AW: Datum als Integer und zurück

  Alt 14. Nov 2018, 10:44
Der Ganzzahlanteil von TDateTime gibt die Anzahl Tage seit dem 30.12.1899 an. Das hat sich zwischen D2010 und 10.2 nicht geändert. Eventuell gibt es Diskrepanzen in der folgenden Verarbeitung bis zur Anzeige des Wertes?
Das zeigt der Debugger so an
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
DieDolly

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

AW: Datum als Integer und zurück

  Alt 14. Nov 2018, 10:51
Nimm das bitte nicht persönlich. Aber es wäre für alle gut, wenn man dir nicht alles aus der Nase ziehen muss
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#10

AW: Datum als Integer und zurück

  Alt 14. Nov 2018, 11:06
So jetzt noch am Detaillierter

Proccess.TargetDate:=Query.FieldByName('TargetDate').AsInteger; Das ist der Code für das Auslesen von der DB TargetDate ist TDateTime
z.b.
Query.FieldByName('TargetDate').AsIntege hat 1041824 was 31.05.4752 ergibt

Das kann doch nicht richtig sein
P.S. ab und zu kommen vernünftige Werte die aber alle in der Zukunft liegen was in der DB nicht sein kann da alle Daten in der Vergangenheit liegen
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 08:41 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