PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP und Excel Tage


Swerix
03.04.2008, 11:31:34
Hallo,
leider fäng Excel ja immer am 1.1.1900 bzw. 1.1.1904 mit dem Datum an zu zählen.
Nun hole ich mir mit strftime() das aktuelle Datum. Wie kann ich dieses Datum mit Minuten nach Excel exportieren?
Wichtig hierbei ist auch, das die nachkommastelle, also die Uhrzeit auch mit ausgegeben werden.
Danke für eure hilfe.

Franzx
03.04.2008, 11:43:30
Hallo,
leider fäng Excel ja immer am 1.1.1900 bzw. 1.1.1904 mit dem Datum an zu zählen.
Nun hole ich mir mit strftime() das aktuelle Datum. Wie kann ich dieses Datum mit Minuten nach Excel exportieren?
Wichtig hierbei ist auch, das die nachkommastelle, also die Uhrzeit auch mit ausgegeben werden.
Danke für eure hilfe.

Moin Swerix und herzlich Willkommen im Forum.

Zu Deiner Frage exportieren des aktuellen Datums:
Wieso soll ein aktuelles Datum exportiert werden, nach Excel. Excel kann doch das aktuelle Datum selbst setzen?

Wenn es um beliebige Datmsangaben geht, mit den Minuten, so gibt es in MySql die Möglichkeit Felder "DateTime" anzulegen. Hier steht das Datum mit der Zeit Formatiert und Exel kann, so wie auch Access, mit diesen Feldern umgehen.

???????

Grüße, Franzx

Swerix
03.04.2008, 12:19:44
Hallo,
also eventuell habe ich mch Falsch ausgedrückt.
Ich Hole das Datum mit strftime, geb es im Browser aus und Speichere es auch gleichzeitig Momentan in eine MySQL Datenbank die ich als DateTime Spalte hab.
Exportiere ich die Tabelle aber in Excel, kann ich damit nicht weiterarbeiten.
Da ich die Daten anschliesend eh nur in Excel weiterverarbeite wollte, wollte ich das Datum mit strftime nur ausgeben und mir gleichzeite den Excel Tag errechnen, damit ich in Excel weiterarbeiten kann.
Gruß
Swerix

doppelklick
03.04.2008, 13:17:23
time()
liefert die Anzahl der Sekunden seit dem 1.1.1970. Excel rechnet meines Wissen auch in Sekunden seit dem 1.1.1904. Wenn du nun die Anzahl der Sekunden vom 1.1.1904 bis zum 1.1.1970 zum aktuellen Wert hinzurechnest sollte es gehen.
Benötigt allerdings in der Datenbank ein Feld vom Typ int.

doppelklick

Swerix
03.04.2008, 21:28:39
Hi, Danke für den Tipp.
Das Funktioniert so.
Hier meine Rechnun für das Excel Datum:
Erste Info die Nötig ist: Excel sagt, der 1.1.1900 ist der Tag 1. Damit ist der 2.1.1900 der Tag 2. So bekommt jeder Tag eine Nummer. Die Uhrzeit wird als Nachkommastelle eingefügt. so ist 1,5 der 1.1.1900 12:00:00 Uhr. 2,75 als Zahl ist in Excel der 2.1.1900 um 18:00:00 Uhr.
Die Funktion time() gibt die vergangene Sekunden seit dem 1.1.1970 aus.
Somit wird zu der Funktion Time die Sekunden die Seit dem 1.1.1900 bis zum 1.1.1970 vergangen sind addiert. Das sind 2209161600 Sekunden.
Um aus Sekunden Tage zu machen dividiere ich durch 86400.

Daraus folgt die Fuktion:
$Excel_Tag=(time()+2209161600)/86400;

Gruß
Swerix