2010-09-04 3 views
5

c'est une question très boiteuse mais je ne suis pas capable de trouver celui-ci. Comment obtenir la date d'aujourd'hui et la date après deux mois .. Formatobtenir la date actuelle et la date après deux mois en php

est le mois jour-année

+0

Voulez-vous dire ajouter 2 mois de travail (8 semaines de travail) ou voulez-vous dire 2 mois civils? Vraisemblablement, vous voulez dire mm-jj-aaaa, mais dans tous les cas, la réponse de Yanicks vous montre comment obtenir un horodatage unix à partir d'aujourd'hui. – Cups

+0

@Cups yaa mais je l'ai modifié un peu pour obtenir mes exigences –

Répondre

18

Vous pouvez utiliser la fonction strtotime() (numérique.):

$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); 

Dans tous les cas, les nouveaux horodatages résultants peuvent ensuite être convertis en mois-jour-année:

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

** Mise à jour **

De l'PHP manual

Remarque: S'il vous plaît garder à l'esprit que ces fonctions dépendent des paramètres régionaux de votre serveur. Assurez-vous de prendre l'heure d'été (utilisez par exemple $ date = strtotime ('+ 7 jours', $ date) et non $ date + = 7 * 24 * 60 * 60) et comptez des années bissextiles lorsque vous utilisez ces fonctions.

Je pensais juste que je le mentionner ...

-2

Aujourd'hui:

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

Deux mois à partir de maintenant:

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

+6

ce n'est pas vrai. '2010-02-01' (1er février 2010) + 60 jours n'est pas exactement deux mois plus tard. Et cela ne tient pas compte des années bissextiles, etc. –

1

Il y a deux façons vous pourriez y aller - le premier serait de faire quelque chose Hing comme ceci:

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

Fondamentalement, vous prenez l'horodatage en cours, exprimé en secondes, et ajouter 60 * 60 * 24 * 60, qui est le nombre de secondes en deux mois.

Une autre façon de le faire, ce qui est ma façon préférée et comment je le ferais, est la suivante:

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

Le résultat sera exactement le même, $ after60days aura une valeur égale à l'horodatage de la journée exactement deux mois à partir de maintenant, mais il utilise la fonction strtotime() propre à PHP.

Bien sûr, si vous avez besoin pour produire une date dans un format facile à lire pour les humains, vous pouvez faire quelque chose comme ceci:

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