Seltsames Datumsformat in DB

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Seltsames Datumsformat in DB

Beitrag von HeX0R »

Moin,

ich habe mir hier auf Arbeit einen Konverter gebastelt, der direkt in der Datenbank unserer Auswertesoftware "rumpfuscht".
Das klappt auch erstaunlich gut (ist Interbase, musste erst mal mit ODBC ein wenig kämpfen).

Jedenfalls erreiche ich unseren Programmierer seit Tagen nicht, der könnte mir das natürlich schnell sagen.

Aber es gibt ja bestimmt noch mehr DB-Kämpfer hier, die da noch eine Idee haben:

Ich habe ein Feld, das das Datum beinhaltet.
Ich komme aber einfach nicht hinter das Format, denn es ist ein Float (o.k., ein Double).

Zwei Beispiele:
40798,760812662 entspricht: 12.09.2011 18:15:34
40792,4211445602 entspricht: 06.09.2011 10:06:26

Hat vielleicht jemand eine Ahnung, wie ich das umrechnen kann?
Ich glaube nicht, dass er sich da was eigenes einfallen hat lassen, weil er sich eigentlich immer schön
an Standards hält, von daher kann es eigentlich nicht so ungewöhnlich sein.

Vielleicht weiss auch jemand, wieso er hier Fließkomma benutzt hat,
ich hätte irgendeine Art von Timestamp erwartet.

Grüße
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Seltsames Datumsformat in DB

Beitrag von ts-soft »

Naja, füg es in eine Tabellenkalkulation Deiner Wahl ein, z.B. Excel und formatiere die Zelle als Datum :mrgreen:

Gruß
Thomas

//edit:
Für Excel, Calc usw., beginnt die Zeitrechnung mit der Zahl 0 die das unwirkliche Datum 0.0.1900 für Excel bedeutet!
Der Rest ist höhere Mathematik, da passe ich :mrgreen:
Zuletzt geändert von ts-soft am 12.09.2011 20:21, insgesamt 1-mal geändert.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Re: Seltsames Datumsformat in DB

Beitrag von HeX0R »

In der Tat wird das richtige Datum angezeigt (auch bei OpenOffice :shock: ), aber ich weiß immernoch nicht, was dahinter steckt.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Seltsames Datumsformat in DB

Beitrag von Kiffi »

support.microsoft.com hat geschrieben:Excel speichert alle Datumsangaben als ganze Zahlen und alle Uhrzeitangaben als Dezimalbrüche. Bei diesem System kann
Excel Datums- und Zeitangaben wie andere Zahlen addieren, subtrahieren oder vergleichen; alle Datumsangaben werden
mithilfe dieses Systems verarbeitet.

In diesem System steht die fortlaufende Zahl 1 für den 01.01.1900, 12:00:00 Uhr. Zeitangaben werden als Dezimalzahlen
zwischen ,0 und ,99999 gespeichert, wobei ,0 für 00:00:00 steht und ,99999 für 23:59:59 Uhr. Die ganzen Zahlen für die
Datumsangaben und die Dezimalbrüche für die Zeitangaben können zu Zahlen kombiniert werden, die aus einem ganzzahligen
Teil und einem Dezimalteil bestehen. Beispielsweise entspricht die Zahl 32331,06 dem Datum 07.07.88 und der Uhrzeit
01:26:24.
Quelle: http://support.microsoft.com/kb/214094/de

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Re: Seltsames Datumsformat in DB

Beitrag von HeX0R »

Aaah Danke Kiffi!!

[Edit2]
Falls nochmal jemand das selbe Problem hat:

Code: Alles auswählen

#TIMESUB = 25569
#TIMEFAK = 86400

Procedure GetUNIXTimeStamp(D.d)
	Protected Result.d
	
	Result = D - #TIMESUB
	Result * #TIMEFAK
	ProcedureReturn Int(Result)
EndProcedure

Procedure.d GetExcelDatestamp(D)
	Protected Result.d
	
	Result = D / #TIMEFAK
	Result + #TIMESUB
	ProcedureReturn Result
EndProcedure

Debug FormatDate("%dd.%mm.%yyyy %hh:%ii:%ss", GetUNIXTimeStamp(40798.760812662))
Debug FormatDate("%dd.%mm.%yyyy %hh:%ii:%ss", GetUNIXTimeStamp(40792.4211445602))
Debug GetExcelDatestamp(Date())
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Seltsames Datumsformat in DB

Beitrag von ts-soft »

HeX0R hat geschrieben: Falls nochmal jemand das selbe Problem hat:
Bitte in Tipps und Tricks nochmal posten, hier geht es verloren :allright:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: Seltsames Datumsformat in DB

Beitrag von bobobo »

passiert
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Seltsames Datumsformat in DB

Beitrag von ts-soft »

Danke 3bo

Was mir hierzu noch einfällt, eigentlich speichert eine DB das Datum doch intern als String, also sollte es als solcher
auch zurückkommen, wenn man das Datum als String ausliest und die Umwandlung unnötig machen, jedenfalls
theoretisch :wink:

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten