Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Controllo sulla data

  1. #1

    Controllo sulla data

    Buon pomeriggio a tutti...lo script che posto serve per sapere quanti giorni restano alla fine del mese, ed il primo giorno del mese successivo.
    Credevo funzionasse bene ma, attraverso la data odiera 25-07-2012, praticamente mi restituisce che il primo giorno del mese successivo è il 31-07-2012,invece che
    01-08-2012.
    Codice 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( 3128 + ($now['year'] % == 0),31303130313130313031 ); 
            
    // calcola i giorni del mese 
            
    $days $months[$now['mon']]; 
            
    // ti da i giorni restanti che mancano al nuovo 1 del mese 
            
    $daysleft $days $now['mday'];
            
    // 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 ("+$daysleft days"));
            
    //$firstDayNextMonth  = date($today, strtotime ("+$daysleft days"));
            
    echo "data odierna:$today Giorni Restanti: $daysleft   1 giorno mese successivo:$firstDayNextMonth"
    Voi sapete individuare il problema?
    Grazie mille.

  2. #2
    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( 3128 + ($now['year'] % == 0),31303130313130313031 ); 
    // 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.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    ti ringrazio dell'aiuto come sempre....
    qui avevo aggiunto un giorno....
    Codice PHP:
    $daysleft_m $days $now['mday']+1
    mi mancava, di toglierlo da qui:
    Codice PHP:
    // calcola i giorni del mese  
    $days $months[$now['mon'] - 1]; 
    cmq ti ringrazio ancora....buon pomeriggio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.