2010-09-04 17 views
5

Dies ist eine sehr lahme Frage, aber ich bin nicht in der Lage, diese zu finden. Wie das heutige Datum und das Datum nach zwei Monaten bekommen ..erhalten aktuelles Datum und Datum nach zwei Monaten in PHP

Format Monat-Tag-Jahr

+0

Meinen Sie 2 Arbeits Monate (8 Arbeitswochen) hinzufügen oder Meinst du 2 Kalendermonate? Vermutlich meinst du MM-TT-JJJJ, aber auf jeden Fall zeigt Yanicks Antwort, wie man einen Unix-Zeitstempel von heute bekommt. – Cups

+0

@Cups yaa, aber ich habe es ein wenig geändert, um meine Anforderungen zu bekommen –

Antwort

18

Sie die strtotime() Funktion können (numerisch.):

$today = time(); 
$twoMonthsLater = strtotime("+2 months", $today); 

// If what you really want is exactly 60 days later, then 
$sixtyDaysLater = strtotime("+60 days", $today); 
// ...or 8 weeks later : 
$eightWeeksLater = strtotime("+8 weeks", $today); 

In jedem Fall die sich daraus ergebenden neuen Zeitstempel können dann zu Monat-Tag-Jahr umgerechnet werden:

echo 'Today is : ' . date('m-d-Y', $today); 
echo 'Two months later will be : ' . date('m-d-Y', $twoMonthsLater); 

** UPDATE **

Vom PHP manual

Hinweis: Bitte beachten Sie, dass diese Funktionen von den lokalen Systemeinstellungen Ihres Servers abhängen. Stellen Sie sicher, dass Sie Sommerzeit verwenden (z. B. $ date = strtotime ('+ 7 Tage', $ date) und nicht $ date + = 7 * 24 * 60 * 60) und Schaltjahre bei der Arbeit mit diesen Funktionen berücksichtigen.

dachte nur soll ich es nennen ...

-2

Heute:

date('m-d-Y', time());

Zwei Monate ab jetzt:

date('m-d-Y', time() + (86400 * 60));

+6

das ist nicht wahr. '2010-02-01' (1. Februar 2010) + 60 Tage sind nicht genau zwei Monate später. Schaltjahre etc. werden nicht berücksichtigt –

1

Es gibt ein paar Möglichkeiten, Du könntest es tun - der erste wäre etwas zu tun Hing wie folgt aus:

echo $currentdate = date("Y-m-d H:i:s",time());  
echo $after60days = date('Y-m-d H:i:s', time() + 60 * 60 * 24 * 60); 

Grundsätzlich nehmen Sie den aktuellen Zeitstempel, ausgedrückt in Sekunden, und fügen Sie 60 * 60 * 24 * 60, die die Anzahl der Sekunden in zwei Monaten.

Eine andere Möglichkeit, es zu tun, die meine bevorzugte Art und Weise ist und wie ich es tun würde, ist dies:

$after60days = strtotime("+60 days"); 

Das Ergebnis wird genau das gleiche, haben $ after60days einen Wert gleich dem Zeitstempel des Tages genau zwei Monate, aber es verwendet PHP eigene strtotime() -Funktion.

Natürlich, wenn Sie die Ausgabe ein Datum in einem Format benötigen, das für Menschen einfach zu lesen, können Sie etwas tun können:

echo date('Y-m-d H:i:s',$after60days);