Visualizzazione dei risultati da 1 a 10 su 21

Hybrid View

  1. #1
    Se ti serve solo sapere la data senza dettagli come ora, minuti o secondi, allora ti propongo questo script che (senza funzioni temporali in PHP come date, mktime, strftime ecc.) calcola il giorno successivo. (Sto ipotizzando che il primo turno sia sempre 'sera'.)

    Codice PHP:
    $data '03/10/2014';
    $turni = array('sera','pomeriggio','Mattina','Notte','Riposo');

    $n_g_mesi = array(1=>31,28,31,30,31,30,31,31,30,31,30,31);
    list(
    $gg,$mm,$aa) = explode('/'$data);
    $gg = (int)$gg;
    $mm = (int)$mm;
    $n_g_q_mese =  $n_g_mesi[$mm];

    $numero_turni 10;

    $n count($turni);
    for(
    $i=0$i<$numero_turni$i++){
        echo 
    $data.' '.$turni[$i%$n]."<br />\n";
        
    $gg $gg%$n_g_q_mese+1;
        if(
    $gg==1){
            
    $mm $mm%12+1;
            
    $n_g_q_mese $n_g_mesi[$mm];
            if(
    $mm==1)
                
    $aa++;
                
        }
        
    $data str_pad($gg,2,'0',STR_PAD_LEFT).'/'.str_pad($mm,2,'0',STR_PAD_LEFT).'/'.$aa;


  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Quote Originariamente inviata da ZioLuffio Visualizza il messaggio
    ti propongo questo script che (senza funzioni temporali in PHP come date, mktime, strftime ecc.)
    Ma sì, reinventiamo la ruota.
    E coi bisestili come la mettiamo?

  3. #3
    Quote Originariamente inviata da luca200 Visualizza il messaggio
    Ma sì, reinventiamo la ruota.
    E coi bisestili come la mettiamo?
    Eccoti accontentato ciccino
    Codice PHP:
    $data '03/10/2014';
    $turni = array('sera','pomeriggio','Mattina','Notte','Riposo');

    $n_g_mesi = array(1=>31,28,31,30,31,30,31,31,30,31,30,31);
    list(
    $gg,$mm,$aa) = explode('/'$data);
    $gg = (int)$gg;
    $mm = (int)$mm;
    $n_g_q_mese =  $n_g_mesi[$mm];

    $numero_turni 10;

    $n count($turni);
    for(
    $i=0$i<$numero_turni$i++){
        echo 
    $data.' '.$turni[$i%$n]."<br />\n";
        
    $gg $gg%$n_g_q_mese+1;
        if(
    $gg==1){
            
    $mm $mm%12+1;
            if(
    $mm==&& $aa%4==&& $n_g_q_mese==28){ // se l'anno è bisestile
                
    $mm 2;
                
    $gg $n_g_q_mese 29;
            }else{
                
    $n_g_q_mese $n_g_mesi[$mm];
                if(
    $mm==1)
                    
    $aa++;
            }
        }
        
    $data str_pad($gg,2,'0',STR_PAD_LEFT).'/'.str_pad($mm,2,'0',STR_PAD_LEFT).'/'.$aa;



    ...e poi questo script funzionerà perfettamente anche dopo il 2038
    Ultima modifica di ZioLuffio; 06-10-2014 a 11:01

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 © 2026 vBulletin Solutions, Inc. All rights reserved.