[risolto] data giorno in php

master1986

Utente Attivo
8 Ott 2012
233
0
16
ciao a tutti avrei bisogno di uno script che mi sviluppi la data per i prossimi 10 giorni, da richiamare tramite variabile


esempio:

$data_oggi = MERCOLEDI 29 GENNAIO
$data_domani= GIOVEDI 30 GENNAIO
$data_3_giorni = VENERDI 01 FEBBRAIO


ho letto un pò le funzioni di guida di php, ma non ho trovato qualcosa che fa al caso mio.

bisognerebbe creare un array?
 

marino51

Utente Attivo
28 Feb 2013
2.931
166
63
Lombardia
ho trovato nel manuale php una via .... a cui ho aggiunto il pezzetto che ti interessa
dimmi se ok
ciao
Marino

PHP:
<?php

# http://localhost/test_site/php/test/date_clone.php

# http://php.net/manual/it/class.datetime.php

  $now   = new DateTime;
  $clone = $now;        //this doesnot clone so:
  $clone->modify( '-1 day' );
  echo $now->format( 'd-m-Y' ), "<br>", $clone->format( 'd-m-Y' ), "<br>";
  echo '----', "<br>";


  // will print same.. if you want to clone make like this:
  $now   = new DateTime;
  $clone = clone $now;    
  $clone->modify( '3 day' );
  echo $now->format( 'd-m-Y' ), "<br>", $clone->format( 'd-m-Y' ), "<br>";
  echo '----', "<br>";


  // array con i giorni, oggi + 10 successivi
  $mydate=array();
  $now   = new DateTime;
  for ($i = 0; $i <= 10; $i++) {
    $clone = clone $now;    
    $clone->modify( "$i day" );
    $mydate[]=$clone->format( 'd-m-Y' );
  }
  for ($i = 0; $i <= 10; $i++) {
    echo $mydate[$i], "<br>";
  }
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
ma se vuole la forma MERCOLEDI 29 GENNAIO oltre quello che hai fatto tu deve ricorrere gli array con i nomi dei giorni e dei mesi in italiano e nei format( 'd-m-Y' ) dovrebbe aggiungere format( 'd-N-m-Y' ) dove N è il numero del gg della settimana 1=lunedì...7=domenica
e conviene che si faccia una funzioncina che trasforma es. da 29-3-1-2014 a MERCOLEDI 29 GENNAIO (con o sensa l'anno)
ecco un esempio
PHP:
<?php
function trasforma($d){
	$gg=array("","lun","mar","mer","gio","ven","sab","dom");
	$mm=array("","gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic");
	$e=explode("-",$d);
	return $gg[$e[1]]." ".$e[0]." ".$mm[(int)$e[2]]." ".$e[3];
}
//test di esempio
echo "<pre>";
$data=date('d-N-m-Y');
var_dump($data);
$data=trasforma($data);
var_dump($data);
echo "<pre>";
?>
 
Ultima modifica:

master1986

Utente Attivo
8 Ott 2012
233
0
16
ciao
ma se vuole la forma MERCOLEDI 29 GENNAIO oltre quello che hai fatto tu deve ricorrere gli array con i nomi dei giorni e dei mesi in italiano e nei format( 'd-m-Y' ) dovrebbe aggiungere format( 'd-N-m-Y' ) dove N è il numero del gg della settimana 1=lunedì...7=domenica
e conviene che si faccia una funzioncina che trasforma es. da 29-3-1-2014 a MERCOLEDI 29 GENNAIO (con o sensa l'anno)
ecco un esempio
PHP:
<?php
function trasforma($d){
	$gg=array("","lun","mar","mer","gio","ven","sab","dom");
	$mm=array("","gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic");
	$e=explode("-",$d);
	return $gg[$e[1]]." ".$e[0]." ".$mm[(int)$e[2]]." ".$e[3];
}
//test di esempio
echo "<pre>";
$data=date('d-N-m-Y');
var_dump($data);
$data=trasforma($data);
var_dump($data);
echo "<pre>";
?>

funziona bene, ma come faccio ad ottenere la data di domani e dopo domani?
 

master1986

Utente Attivo
8 Ott 2012
233
0
16
ciao
ma se vuole la forma MERCOLEDI 29 GENNAIO oltre quello che hai fatto tu deve ricorrere gli array con i nomi dei giorni e dei mesi in italiano e nei format( 'd-m-Y' ) dovrebbe aggiungere format( 'd-N-m-Y' ) dove N è il numero del gg della settimana 1=lunedì...7=domenica
e conviene che si faccia una funzioncina che trasforma es. da 29-3-1-2014 a MERCOLEDI 29 GENNAIO (con o sensa l'anno)
ecco un esempio
PHP:
<?php
function trasforma($d){
	$gg=array("","lun","mar","mer","gio","ven","sab","dom");
	$mm=array("","gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic");
	$e=explode("-",$d);
	return $gg[$e[1]]." ".$e[0]." ".$mm[(int)$e[2]]." ".$e[3];
}
//test di esempio
echo "<pre>";
$data=date('d-N-m-Y');
var_dump($data);
$data=trasforma($data);
var_dump($data);
echo "<pre>";
?>

volevo ringraziarti per il tuo script borgo, ha risolto il mio problema :cool: