Mailinglisten-Archive |
Koray Cansev schrieb:
> Ich weiss, dass ich mit der Funktion $date die Serverzeit bzw. Datum
> anzeigen kann.
Ich würde ja gerne helfen, aber Deine Frage ist so schwammig, dass ich
gar nicht weiß, worum es eigentlich geht: PHP, SQL, ...?
Falls es um PHP geht: $date ist eine Variable, keine Funktion!
Meinst Du die date()-Funktion?
http://de.php.net/manual/de/function.date.php
> Wie kann ohne ein grosses script zu schreiben zu diesem Datum jeweils
> eine Zahl hinzuaddieren?
>
> Für jeden Hinweis wär ich dankbar.
Schau Dir dazu einfach die time()-Funktion an:
http://de.php.net/manual/de/function.time.php
Da diese eine simple Zahl liefert (nämlich die Sekunden seit
dem 1. Jan 1970), kannst Du damit einfach rechnen:
+60 --> eine Minute später (60 sek)
-3600 --> eine Stunde früher (60 min * 60 sek/min)
+86400 --> ein Tag später (24 h * 60 min/h * 60 sek/min)
Schwierig wird's, wenn Du "ein Monat", "ein Quartal", "ein Jahr"
später oder früher berechnen willst, weil die Monate unterschiedlich
lang sind, weil es Schaltjahre gibt - und weil als weiteres Problem
bei der Uhrzeit auch noch der Wechsel zwischen Sommer- und Normalzeit
hinzukommt.
Da bietet aber auch gleich das PHP-Handbuch Hilfe an (muss man halt
auch lesen ...):
| <?php
| $morgen = mktime(0, 0, 0, date("m") , date("d")+1, date("Y"));
| $letztermonat = mktime(0, 0, 0, date("m")-1, date("d"), date("Y"));
| $naechstesjahr = mktime(0, 0, 0, date("m"), date("d"), date("Y")+1);
|?>
|
| Anmerkung: Dieses Vorgehen kann zu verlässlicheren Ergebnissen führen,
| als simples addieren oder subtrahieren der Anzahl von Sekunden in Tagen
| oder Monaten zu einem Timestamp, da Sommer- und Winterzeit berücksichtigt
| werden.
Falls Du in Deine Frage MySQL meinst, dann schau Dir die Datumsfunktionen
im MySQL-Handbuch an. MySQL-Datumsangaben haben gegenüber Unix-Timestamps
den großen Vorteil, dass Die auch für Zeitpunkt vor 1970 und nach 2038
funktionieren ...
Ciao,
Martin
php::bar PHP Wiki - Listenarchive