web-dev-qa-db-fra.com

Comment obtenir une date après 15 jours / 1 mois en PHP?

Dans mon code PHP code, j'ai une date dans ma variable "$ postedDate".
Maintenant, je veux obtenir la date après 7 jours, 15 jours, un mois et 2 mois.

Quelle fonction de date dois-je utiliser?

Le format de date de sortie doit être au format américain.

23
Shyju

Utilisez strtotime.

$newDate = strtotime('+15 days',$date)

$ newDate sera désormais 15 jours après $ date. $ date est unix.

http://uk.php.net/strtotime

35
PaulJWilliams

essaye ça

$date = date("Y-m-d");// current date

$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 day");
$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 week");
$date = strtotime(date("Y-m-d", strtotime($date)) . " +2 week");
$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 month");
$date = strtotime(date("Y-m-d", strtotime($date)) . " +30 days");
18
Sadegh

Depuis PHP 5.2.0 la génération DateTime en classe est disponible

$date = new DateTime($postedDate);

$date->modify('+1 day');

echo $date->format('Y-m-d');

http://php.net/manual/en/class.datetime.php

15
Lamy
$date=strtotime(date('Y-m-d'));  // if today :2013-05-23

$newDate = date('Y-m-d',strtotime('+15 days',$date));

echo $newDate; //after15 days  :2013-06-07

$newDate = date('Y-m-d',strtotime('+1 month',$date));

echo $newDate; // after 1 month :2013-06-23
10
ARJUN KP

C'est très simple; essaye ça:

$date = "2013-06-12"; // date you want to upgade

echo $date = date("Y-m-d", strtotime($date ." +1 day") );
4
Siddhartha Dutta

Quel est le format d'entrée de toute façon?

1) Si votre date est, disons, un tableau d'année, de mois et de jour, vous pouvez alors mktime (0, 0, 0, $ month, $ day + 15, $ year) ou mktime (0, 0, 0, $ month + 1, $ jour, $ année). Notez que mktime est une fonction intelligente, qui gérera correctement les valeurs hors limites, donc mktime (0, 0, 0, 13, 33, 2008) (qui est le mois 13, jour 33 de 2008) renverra l'horodatage pour février , 2, 2009.

2) Si votre date est un horodatage, il vous suffit d'ajouter, comme 15 * SECONDS_IN_A_DAY, puis de l'afficher avec la date (/ * n'importe quel format * /, $ postedDate). Si vous devez ajouter un mois 30 jours, cela ne fonctionnera pas toujours bien, vous pouvez donc d'abord convertir l'horodatage en mois, jour et année (avec la fonction date ()) puis utiliser (1).

3) Si votre date est une chaîne, vous devez d'abord l'analyser, par exemple, avec strtotime (), puis faire ce que vous voulez.

3
Ilya Birman