Datum umwandeln
Blitzkrieg
- php
Hi,
und zwar habe ich folgendes Problem. Ich habe den Tag im Jahr, zum Beispiel den 236. Tag. Mit welcher Funktion/welchen Funktionen kann ich die Zahl 236 in das Datum 24.08. umformen?
Vielen Dank
Blitzkrieg
Mit welcher Funktion/welchen Funktionen kann ich die Zahl 236 in das Datum 24.08. umformen?
Mit den mathematischen Grundrechenarten sowie der Kenntnis über die Verteilung von Tagen je Monat und Schaltjahr. Falls Dir das zu kompliziert ist, sollte es auch möglich sein, mktime() als ersten Schritt der Umrechnung zu benutzen (beachte hierzu Beispiel 1 auf der Anleitungsseite).
Hallo,
und zwar habe ich folgendes Problem. Ich habe den Tag im Jahr, zum Beispiel den 236. Tag. Mit welcher Funktion/welchen Funktionen kann ich die Zahl 236 in das Datum 24.08. umformen?
Probiere es so:
<?php
$tag=236;
print date("d.m.",strtotime(($tag-1)." days","this year")); // 24.08.
?>
MfG, Thomas
Hi Thomas,
ich danke dir vielmals ... es funktioniert so .. nur leider verstehe ich nicht ganz, wieso das so funktioniert. Kannst du mir vielleicht erklären, wieso das so funktioniert, damit ich beim nächsten Mal selber auf sowas komme?
Danke
Blitzkrieg
Probiere es so:
<?php
$tag=236;
print date("d.m.",strtotime(($tag-1)." days","this year")); // 24.08.?>
MfG, Thomas
Hallo Blitzkrieg!
[...] nur leider verstehe ich nicht ganz, wieso das so funktioniert. Kannst du mir vielleicht erklären,
wieso das so funktioniert, damit ich beim nächsten Mal selber auf sowas komme?
Schau' dir mal folgende Seite an:
PHP-Handbuch: strtotime()
http://de.php.net/manual/de/function.strtotime.php
Hallo,
Kannst du mir vielleicht erklären, wieso das so funktioniert, damit ich beim nächsten Mal selber auf sowas komme?
Ich habe die Funktionen strtotime() [http://de.php.net/manual/de/function.strtotime.php] und date() [http://de.php.net/manual/de/function.date.php] kombiniert. Mit der Subtraktion von 1 habe ich der Tatsache entsprochen, dass date() mit dem Format-Zeichen "z" die Tage eines Jahres ab 0 zurueck gibt.
date("z",time()); liefert heute gerade 236. Eigentlich haben wir den Tag 237 (1. Januar = Tag 1), was auch eine mal hier von mir gepostete JS-Funktion zeigt:
var datum,m,j,t,i;
datum=new Date(); // neues Datumsobjekt
m=datum.getMonth(); // aktueller Monat (ab 0)
j=datum.getFullYear(); // aktuelles Jahr (vierstellig)
t=datum.getDate(); // Tag(e) des aktuellen Monats
// t + Tage der Vormonate
for(i=1;i<m+1;i++)t+=new Date(j,i,0).getDate();
alert("Heute ist Tag "+t+".");
Es kommt also bei der Benutzung des PHP-Codeschnipsels darauf an, ob man sich auf Tag 0 oder Tag 1 des Jahres bezieht.
MfG, Thomas