2009-12-06 6 views
10

ich möchte ein Datum in 6 Jahren haben?ein Datum in 6 Jahren bekommen?

Wie mache ich das?

+36

Möglicherweise müssen Sie mit einem Escort-Service planen. – ChaosPandion

+1

Wie reichen wir diesen Kommentar in die Kategorie "Beste Kommentare" ein? Tolle. – jay

+0

Wie wäre es mit der Markierung einiger Ihrer 22 Fragen, die mit einigen richtigen Antworten beantwortet werden? – PetersenDidIt

Antwort

24
<?php 
$timestamp = strtotime('+6 years'); 
echo date('Y-m-d H:i:s', $timestamp); 
?> 
+0

Geht das wirklich so in PHP? – ChaosPandion

+4

Ja, was hast du erwartet? –

+0

Ich denke, ich bin durch das .NET DateTime-Objekt verwöhnt. – ChaosPandion

1
strtotime('+6 years'); 

können Sie diesen Zeitstempel in so etwas wie strftime() übergeben; strtotime

1

Noch über Kommentar des ChaosPandion lachen :)

echo strtotime ("+6 years"); 

den Trick tun sollten.

-1

189302400 ist die Anzahl der Sekunden in 6 Jahren.

Den aktuellen Zeitstempel abrufen, 189302400 hinzufügen und dann den Zeitstempel in eine Datumszeichenfolge konvertieren.

+2

+1 für das Auslassen des erforderlichen Codes und die Fokussierung auf die Zeitstempel –

+3

Umfasst dieser Zeitraum von sechs Jahren 0, 1 oder 2 Schaltjahre? (1700, 1800, 1900, 2100, 2200, etc, sind keine Schaltjahre.) –

+3

Gut in der Theorie, aber in der Praxis gebrochen, da es Schaltjahre nicht richtig berücksichtigt. 1997-2003 muss einen Tag abziehen, da 2000 kein Schaltjahr war und 2003-2009 einen Tag hinzufügen musste, da sowohl 2004 als auch 2008 Schaltjahre waren. Das setzt sogar voraus, dass Sie innerhalb von 6 Jahren mindestens ein Schaltjahr geplant haben. –

1

Ihre Beschreibung ist nicht sehr präzise, ​​aber echo date("Y-m-d", strtotime("+6 years")); könnte sein, was Sie brauchen ...

2
date_default_timezone_set('America/Los_Angeles'); //required if not set 
$date = new DateTime('1/1/1981'); 
$date->modify('+60 year'); 
echo $date->format('Y-m-d'); 

Above ist nicht betroffen von Unix-Zeitstempel Datumsbereich (vor 1970 und nach 2038).

Sie können auch direkt Daten mit Vergleichsoperatoren direkt vergleichen, müssen sie nicht in Zeitstempel konvertieren.

Benötigt PHP 5.3

+0

+1 für echte objektorientierte Lösung – Cesc

Verwandte Themen