PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datum Bug?



Romanday
25-01-2005, 10:18
Ich möchte gerne formatiert ein Datum ausgeben,
was z. B. 1 Monat oder ein Jahr in der Zukunft liegt.



<?php
define('P_ZEIT_ANMELDUNG_VERFALL',9000000);
$zeit = time();
$zeit_verfall = $zeit + P_ZEIT_ANMELDUNG_VERFALL ;
$heute = getdate($zeit_verfall);
var_dump($heute);
?>


Leider wird das Datum falsch berechnet. Davon betroffen sind die
Funktionen date() und getdate(). Der Wochentag funktioniert noch,
aber nicht 1 Monat oder 1 Jahr in der Zukunft.

Hat jemand eine Idee wie ich den timestamp() von z. B. 28.9.2005
formatiert ausgeben kann?

Pingu
25-01-2005, 10:28
z.B. mit strtotime() (http://de3.php.net/strtotime):
$time1Year = strtotime("+1 year");
oder:
$time1Year = mktime(date("G"), date("i"), date("s"), date("n"), date("j"), date("Y") + 1);


Hat jemand eine Idee wie ich den timestamp() von z. B. 28.9.2005
formatiert ausgeben kann?
z.B. mit mktime() (http://de3.php.net/mktime)

$time = mktime(0, 0, 0, 9, 28, 2005);

Pingu

Romanday
25-01-2005, 10:33
z.B. mit strtotime() (http://de3.php.net/strtotime):
$time1Year = strtotime("+1 year");
oder:
$time1Year = mktime(date("G"), date("i"), date("s"), date("n"), date("j"), date("Y") + 1);


z.B. mit mktime() (http://de3.php.net/mktime)

$time = mktime(0, 0, 0, 9, 28, 2005);

Pingu

Danke für die schnelle Hilfe.

Warum klapt das nicht mit date() und getdate()? Das ist doch Murks.

Pingu
25-01-2005, 11:00
Warum klapt das nicht mit date() und getdate()? Das ist doch Murks.
Weil das hier:

define('P_ZEIT_ANMELDUNG_VERFALL',9000000);
kein Jahr ist.
Ein Jahr hat? 60 Sekunden * 60 Minuten * 24 Stunden * 365 Tage = ?
Oder wenn es ein Schaltjahr ist, dann natürlich: 60 Sekunden * 60 Minuten * 24 Stunden * 366 Tage

Pingu

EDIT: Der Wert sind ja nur 9.000.000 Sekunden / 60 Sekunden / 60 Minuten / 24 Stunden = 104,6666 Tage