Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    100

    aiuto gestione date particolare

    ciao a tutti,
    ho bisogno di un aiuto nel gestire delle date.

    ho una data con valore 16/11/2008

    se io faccio un ciclo for per quella data 5 volte.

    come faccio a dire di cambiarmi la data in questo modo:

    CICLO -->
    30/11/2008 (quindi il primo valore portarlo alla fine del mese)
    30/12/2008 (mese successivo)
    30/01/2009 (mese successivo)
    28/02/2009 (mese successivo)
    30/03/2009 (mese successivo)


    è possibile fare una cosa del genere???

    GRAZIE INFINITE!

  2. #2
    sì, è possibile, ma dovresti definire meglio cosa vuoi intendere per fine del mese

    ok novembre ha 30 giorni. e tutti gli altri devono finire al 30 come hai fatto tu?

    Se un mese ne ha 31?

    E febbraio? quello che hai scritto è veramente quello che vuoi (30/02/2009)?????

    Chiarisci meglio
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    100
    si infatti mi sono sbagliato x febbraio ehehe

    cmq se possibile alla fine del mese esatto,

    magari fare tutti 30 ma siccome febbraio nn ci arriva, allora se possibile farlo proprio alla fine del mese esatto


    GRAZIE MILLE

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    100
    help

  5. #5
    Codice PHP:
    <?php
    for($i 2$i <=13$i++ ) {
          echo 
    date('d/m/Y'mktime(0,0,0$i02009)). "
    "
    ;
         }
    ?>

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    dunque se ho capito, hai bisogno una cosa del genere:

    tu inserisci una qualsiasi data (nel formato gg/mm/aaaa), e devi arvere come risultato l'ultimo giorno di quel mese, più l'ultimo giorno dei quattro mesi successivi.
    Giusto?
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  7. #7
    Se ho capito bene ti posto questo (tieni conto che è lunedì mattina)

    Codice PHP:
    <?php
    define
    ("DAY"86400);

    class 
    DateX
    {
        protected    
    $DateArray;
        protected    
    $timestamp;
        protected    
    $num;
        
            public function 
    __construct($date$num)
            {
                
    $this->DateArray explode("/"$date);
                
    $this->timestamp mktime(0,0,0,$this->DateArray[1],$this->DateArray[0],$this->DateArray[2]);
                
    $this->num $num;
                
    $this->PrintDate();
            }
            
            public function 
    PrintDate()
            {
                for(
    $i 0$i $this->num$i++)
                {
                    
    $lastDay $this->LastDay();
                    while(
    $lastDay != date("d"$this->timestamp))
                    {
                        
    $this->AddOneDay();
                    }
                    echo 
    date("d/m/Y"$this->timestamp) . '
    '
    ;
                    
    $this->AddOneDay();
                }
            }
            
            protected function 
    LastDay()
            {
                
    $days date("t"$this->timestamp);
                return 
    $days;
            }
            
            protected function 
    AddOneDay()
            {
                
    $this->timestamp $this->timestamp DAY;
            }
                
    }

    $date = new DateX("16/11/2008"5);

    ?>
    Come vedi puoi anche decidere quante date vuoi (spero che hai php5)
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  8. #8
    Infatti, adesso che mi sono svegliato un po', aborrisco la classe che ti ho inviato.

    Troppo dispendiosa, deve fare troppe operazioni.
    Questa é certamente meglio

    Codice PHP:
    <?php
    class DateX
    {
        protected    
    $timestamp;
        protected    
    $num;
        protected    
    $DateArray = array();
        protected    
    $Data;
        
            public function 
    __construct($data$num)
            {
                
    $this->Data $data;
                
    $this->num $num;
                
    $this->Result();
            }
            
            protected function 
    StringToTimestamp($string)
            {
                
    $DateArray explode("/"$string);
                
    $this->timestamp mktime(0,0,0,$DateArray[1],$DateArray[0],$DateArray[2]);
                
    $LastDay date("t"$this->timestamp);
                
    $this->timestamp mktime(0,0,0,$DateArray[1],$LastDay,$DateArray[2]);
            }
            
            protected function 
    TimestampToString($timestamp)
            {
                
    $this->Data date("d/m/Y"$timestamp);
                return 
    $this->Data;
            }
            
            public function 
    Result()
            {
                for(
    $i 0$i $this->num$i++)
                {
                    
    $this->StringToTimestamp($this->Data);
                    
                    echo 
    $this->TimestampToString($this->timestamp) . '
    '
    ;
                    
                    
    $this->timestamp $this->timestamp 86400;
                    
    $this->TimestampToString($this->timestamp);
                }
            }
    }

    $x = new DateX("16/11/2008"5);
    ?>
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    100
    il risultato è quello che vorrei ottenere, ma non ci sarebbe un modo + semplice per riassumere tutto il codice?

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    100
    HO RISOLTO!

    GRAZIE MILLE RAGAZZI!

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.