[PHP] Aggiungere giorni e stampare risultato da data inserita in input

pizzettino

Nuovo Utente
1 Apr 2019
9
0
1
Buonasera a tutti
Non riesco e stampare la data corrispondente a data_inizio + durata_giorni, nel formato Y/m/d
Di seguito i codici html e php

FILE HTML
PHP:
<html>
<form action="validazione.php" method="POST">
<head>
<title>Esercizio di validazione date </title>
<h1>Gestiamo la validazione delle date</h1> 
</head>
<body bgcolor="#ff99ff"> Inserisci la data di inizio:
<br>
<input type="text" name="data" value="data">
<br> <br>
Inserisci la durata:
<br>
<input type="text" name="durata" value="durata">
<br><br>
<input type="submit" name="Inserisci date" value="Inserisci date">
</body>
</form>
</html>
FILE PHP
PHP:
<?php
$data=$_POST['data'];
$durata=$_POST['durata'];
$limite=strtotime("2019-01-27");
$datainserita=strtotime($data);
if ($datainserita>$limite && $durata>=2 && $durata<=10)
{
$timestamp=strtotime("+$durata day");
echo date('Y/m/d',$timestamp);
}
else
{
echo "Erroreeeeeeeeeeeeeee";
}
?>

Come faccio a dire al sistema di aggiungere alla data che io inserisco (data) i giorni che inserisco (durata) e stamparmi il tutto in formato data?

Attualmente con il codice che le ho allegato il sistema correttamente mi stampa il formato data Y/m/d aggiungendo i giorni di durata che io inserisco, ma non a partire dalla data che ho inserito, ma a partire dalla data odierna (2019-04-02)

Esempio:
Inserisco come data il valore 2019-03-22
Inserisco come durata il valore 3
Inviando i dati la pagina PHP mi stampa il valore 2019-04-05 (considera data odierna +3 giorni)
In realtà vorrei che mi stampasse il valore 2019-03-25 (ovvero la data da me inserita + 3 giorni)
Probabilmente e su questo pezzo di codice che dovrei dirgli di considerare la data da me inserita ma non riesco a capire come:

PHP:
$timestamp=strtotime("+$durata day");
echo date('Y/m/d',$timestamp);

Qualcuno riesce ad aiutarmi?
Grazie mille in anticipo
 

pizzettino

Nuovo Utente
1 Apr 2019
9
0
1
Ciao Macus_Adi

Ho controllato il link da te citato ma ho notato che li si parla di addizione e sottrazione di date, mentre nel mio caso deve aggiungere un numero ad una data
Alla fine sono riuscito ad uscirne in questo modo:

PHP:
$data=$_POST['data'];
$durata=$_POST['durata'];
$limite=strtotime("2019-01-27");
$datainserita=strtotime($data);
if ($datainserita>$limite && $durata>=2 && $durata<=10)
{
    $timestamp=strtotime("$data+$durata day");
    echo date('Y/m/d',$timestamp);
}

ovvero aggiungendo semplicemente $data prima del +$durata

Grazie mille

Stefano
 

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
mentre nel mio caso deve aggiungere un numero ad una data
Forse non hai letto bene....
Quello che hai fatto qui:
if ($datainserita>$limite && $durata>=2 && $durata<=10)
{
$timestamp=strtotime("$data+$durata day");
echo
date('Y/m/d',$timestamp);
}

É esattamente qusto:
Che forse non ho specificato in quanto scritto tra le linee....
Sia diff che add!
Il relativo codice è:
PHP:
$format='%Y-%m-%d %H:%i:%s'
$interval=1;
$dt=new DateTime($start);
$dt->add(new DateInterval('P'.$interval.'D'));
return $dt->format($format);

Presente anche in altre discussioni....
In definitiva la doc è qui: https://www.php.net/manual/en/datetime.add.php
 
Discussioni simili
Autore Titolo Forum Risposte Data
F [PHP] Aggiungere ruolo per accedere alle pagine PHP 2
P [PHP] Aggiungere un mio script a prestashop? PHP 10
Shyson [PHP] Aggiungere link al codice PHP 0
R [PHP] Aggiungere 90 minuti a stringa orario PHP 1
brasoft2019 [PHP] aggiungere timestamp in tabella correlata PHP 0
C [PHP] Aggiungere pulsante paypal PHP 2
trattorino [PHP] sql aggiungere dato in una tabella senza cancellare contenuto PHP 6
trattorino [PHP] aggiungere html in un codice PHP 0
felino Capability: aggiungere cap all'editor per admin.php?page WordPress 0
I aggiungere input a form php PHP 30
V Interazione tra PHP e MS Access, aggiungere WHERE condition PHP 2
G phpmailer e php 8.1 con estensione mysqli PHP 5
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 1
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Array associativi php su 2 campi mysql PHP 10
G Invio form con PHP PHP 3
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4
M Visualizzazione a video risultati query php PHP 0

Discussioni simili