Codice PHP:
<?php
// data odierna da sostituire con la data che ti serve magari quella inserita ;-)
$now = getdate();
// l ho messa solo per visualizzarla formattata a video ;-)
$today = date('d:m:Y');
//$today = date('28/06/2012');
// serve per creare i giorni ai mesi dell anno compreso quello di febbraio
$months = array( 31, 28 + ($now['year'] % 4 == 0 ? 1 : 0),31, 30, 31, 30, 31, 31, 30, 31, 30, 31 );
// calcola i giorni del mese
$days = $months[$now['mon'] - 1];
// ti da i giorni restanti che mancano al nuovo 1 del mese
$daysleft = $days - $now['mday'];
$d = $daysleft + 1;
// questo aggiunge i giorni mancanti alla dato $now e ti restituisce formattata la date del prime giorno del mese successivo ;-)
$firstDayNextMonth = date('d-m-Y', strtotime ("+$d days"));
//$firstDayNextMonth = date($today, strtotime ("+$daysleft days"));
echo "data odierna:$today Giorni Restanti: $daysleft 1 giorno mese successivo:$firstDayNextMonth";
echo "
";
echo $daysleft." - ".$days." - ".$now['mon']." - ".$now['mday'];
?>
Ci sono 2 errori:
1. devi sommare 1 a $daysleft per ottenere il primo giorno del mese successivo.
2. quando recuperi dall'array i giorni in base al mese devi sottrarre 1 dal mese dato che gli indici degli array partono da 0.