phpbar.de logo

Mailinglisten-Archive

[dbs] funktion $date eine zahl addieren

[dbs] funktion $date eine zahl addieren

Martin Ramsch m.ramsch at computer.org
Fre Dez 3 17:16:16 CET 2004


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