Seite 1 von 1

Das Excel - DatumsFormat und was dahinter steckt

Verfasst: 12.09.2011 20:39
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

Re: Seltsames Datumsformat in DB

Verfasst: 12.09.2011 20:39
von HeX0R
Aaah Danke Kiffi!!

Falls nochmal jemand das selbe Problem hat:

Code: Alles auswählen

#TIMESUB = 25569
#TIMEFAK = 86400

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

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

Debug FormatDate("%dd.%mm.%yyyy %hh:%ii:%ss", ExcelToUnixTimeStamp(40798.760812662))
Debug FormatDate("%dd.%mm.%yyyy %hh:%ii:%ss", ExcelToUnixTimeStamp(40792.4211445602))
Debug UnixToExcelTimestamp(Date())
[Edit]
Ich habe nur die Prozedurnamen angepasst, das war doch etwas verwirrend.

Re: Seltsames Datumsformat in DB

Verfasst: 12.09.2011 22:11
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: