2017-10-01 4 views
0

Vous devez ajouter un nombre de jours spécifié à une date sélectionnée. Pas la date actuelle. Im utilise strtotime de cette façon:Vous devez ajouter un nombre de jours spécifié à une date sélectionnée

$date = $_POST['r_date']; 
$r_date = $date; 


$txts_rental = $_POST['txts_rental']; 
    switch ($txts_rental){ 
     case "250.00": 
      $s_length = "30"; 
      break; 
    case "575.00": 
      $s_length = "90"; 
      break; 
    case "975.00": 
      $s_length = "180"; 
      break; 
    case "1200.00": 
      $s_length = "365"; 
      break; 
    } 

$rn_date = date("Y-m-d", strtotime("$s_length day")); 

les date("Y-m-d" doit être la variable $r_date afin d'obtenir la date de renouvellement de la date entrée

+0

Le deuxième paramètre est pour quand 'strtotime' devrait commencer. http://php.net/manual/fr/function.strtotime.php – chris85

+0

La syntaxe correcte est: https://eval.in/871688 – C2486

Répondre

3

Vous pouvez utiliser

$EndDateTime = DateTime::createFromFormat('d/m/Y', "16/07/2017"); 
$EndDateTime->modify('+6 days'); 
echo $EndDateTime->format('d/m/Y'); 

ou

$today = "2015-06-15"; // Or can put $today = date ("Y-m-d"); 
$fiveDays = date ("Y-m-d", strtotime ($today ."+5 days")); 
0

Vous devez changer votre méthode en tant que faible. ajouter la date cible dans le deuxième paramètre afin que la date ne soit pas ajoutée à la date actuelle

$date = $_POST['r_date']; 
$r_date = $date; 


$txts_rental = $_POST['txts_rental']; 
    switch ($txts_rental){ 
     case "250.00": 
      $s_length = "30"; 
      break; 
    case "575.00": 
      $s_length = "90"; 
      break; 
    case "975.00": 
      $s_length = "180"; 
      break; 
    case "1200.00": 
      $s_length = "365"; 
      break; 
    } 

$rn_date = date("Y-m-d", strtotime("$date +".$s_length." day"));