phpbar.de logo

Mailinglisten-Archive

[php] Rechnen mit Datumsangaben

[php] Rechnen mit Datumsangaben

Sebastian Mendel lists at sebastianmendel.de
Mon Apr 25 11:15:18 CEST 2005


Christian Vosen schrieb:
> Guten Morgen!
> 
> Wie rechnet man in PHP mit Datumsangaben? Im Manual habe ich nicht
> wirklich was gefunden oder vielleicht an der falschen Stelle gesucht.

www.sf.net/projects/phpdatetime ;-)

$next_day = Date::addDay( 1, '25.04.2005' );
// oder
$next_day = Date::addDay( 1, '2005-04-24' );
// oder
$next_day = Date::addDay( 1, [UNIX_TIMESTAMP] );


> Folgendes Szenario:
> Über ein Formular lasse ich einen MySQL-Table befüllen, es gibt immer
> nur einen Eintrag pro Tag.
> Um den User schon ein wenig anzuschubsen, damit er keine doppelten
> Datumseinträge vornimmt, möchte ich das Datumsfeld im Formular schon mit
> dem ersten "freien" Datum vorbelegen.
> 
> Beispiel: Ich ziehe aus der Datenbank per
> 
> SELECT date_format(tagdatum,'%d.%m.%Y') AS datum FROM golfplatz ORDER BY
> tagdatum DESC LIMIT 1

SELECT MAX(`tagdatum`) FROM `golfplatz`;


> das Datum "25.04.2005", im Formular soll aber "26.04.2005" erscheinen.
> Wie mach ich das?

du kannst die Berechnung auch gleich in MySQL durchführen lassen

http://dev.mysql.com/doc/mysql/en/date-and-time-functions.html


> 2.Frage: Ist es für die Rechnung cleverer, die Datumsformatierung schon
> in der SQL-Abfrage zu formulieren, oder macht es Sinn, das Datum
> unformatiert aus der DB zu ziehen und dann nach der Berechnung mit PHP
> zu formatieren?

ich verwende grundsätzlich die ISO-Formatierung yyyy-mm-dd, da MySQL
damit umgehen kann, man keine Probleme mit der UNIX-Epoche hat, das
Datum auch ohne Umwandlung lesbar ist, Smarty dieses Format auch lesen
und umwandeln kann und strtotime() ebenso - mal ganz abgesehen davon das
es der ISO-Standard ist!



-- 
Sebastian Mendel

www.sebastianmendel.de
www.sf.net/projects/phpdatetime | www.sf.net/projects/phptimesheet

php::bar PHP Wiki   -   Listenarchive