Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 21

Discussione: Data

  1. #11
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ma hai dato l'echo delle funzioni?

  2. #12
    Utente di HTML.it L'avatar di Fool
    Registrato dal
    May 2002
    Messaggi
    8,342
    certo


    echo giorno();

  3. #13
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    46
    codice:
    function _localization($date)
        {
            // setta la mappa locale del sistema operativo
            setlocale (LC_TIME, 'ita');
            setlocale (LC_TIME, 'it_IT');
    
            // divido la stringa e creo un timestamp
            list($y,$m,$d) = explode("-",$date);
            $time          = mktime(0,0,0,$m,$d,$y);
            
            // crea la data numerica in italiano 
            $format   = "d/m/Y"
            $newDate  = date($format, $time);
            
            // estre i nomi del giorno e del mese con la prima lettere maiuscola
            $day      = ucfirst(strftime('%A', $time));
            $month    = ucfirst(strftime('%B', $time));
        
            return array($newDate, $month, $y, $day);
        }
    E' una vecchia funzione che feci. Supporta qualsiasi lingua che il sistema operativo riconosce. La creai per ritornarmi un array con data numerica mese giorno lunghi e anno.

    Ciao
    Yuri

  4. #14
    Utente di HTML.it L'avatar di Fool
    Registrato dal
    May 2002
    Messaggi
    8,342
    Con quel codice come faccio a dirgli di prendere la data dal $row[Data] ?

  5. #15
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ho riadattato il codice per la tua esigenza:

    <?php
    //Data di esempio
    $anno = "2005";
    $giorno = "5";
    $mese = "7";

    function giorno($anno,$giorno,$mese)
    {
    $giorn = date("l",mktime(0,0,0,date("$mese"),date("$giorno" ),date("$anno")));

    switch($giorn)
    {
    case 'Monday':
    $giorn = 'Lunedì';
    break;
    case 'Tuesday':
    $giorn = 'Martedì';
    break;
    case 'Wednesday':
    $giorn = 'Mercoledì';
    break;
    case 'Thursday':
    $giorn = 'Giovedì';
    break;
    case 'Friday':
    $giorn = 'Venerdì';
    break;
    case 'Saturday':
    $giorn = 'Sabato';
    break;
    case 'Sunday':
    $giorn = 'Domenica';
    break;
    }
    return $giorn;
    }

    function mese($anno,$giorno,$mese)
    {

    $mes = date("n",mktime(0,0,0,date("$mese"),date("$giorno" ),date("$anno")));

    switch($mese)
    {
    case 1:
    $mes = 'Gennaio';
    break;
    case 2:
    $mes = 'Febbraio';
    break;
    case 3:
    $mes = 'Marzo';
    break;
    case 4:
    $mes = 'Aprile';
    break;
    case 5:
    $mes = 'Maggio';
    break;
    case 6:
    $mes = 'Giugno';
    break;
    case 7:
    $mes = 'Luglio';
    break;
    case 8:
    $mes = 'Agosto';
    break;
    case 9:
    $mes = 'Settembre';
    break;
    case 10:
    $mes = 'Ottobre';
    break;
    case 11:
    $mes = 'Novembre';
    break;
    case 12:
    $mes = 'Dicembre';
    break;
    }
    return $mes;
    }


    echo giorno($anno,$giorno,$mese).' '.$giorno.' '.mese($anno,$giorno,$mese).' '.$anno;
    ?>

  6. #16
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    46
    di solito da mySql la data esce 2005-07-12

    quindi gli passi direttamente row[Data].
    Nel caso il formato che devi passargli è differente allora devi cambiare _localization() qui:

    list($y,$m,$d) = explode("-",$date);

    mettendo il giusto ordine di uscita delle stringhe... con l'esempio del tuo formato di data (12-07-2005) diventa

    list($d,$m,$y) = explode("-",$date);

  7. #17
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Non ci avevo pensato ma potresti anche usare un'altra soluzione.
    Fai la tua query al db e usi la funzione di mysql dayofweek (1 = domenica, 7 = sabato) e usi lo switch in base ai numeri da 1 a 7.
    Stesso discorso per il mese. usi month(della tua data) che ti restituisce un numero compreso tra 1 e 12.
    Anche qui in base al valore restituito gli assegni il nome lungo italiano.

  8. #18
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    5
    io invece uso questa mia funzione, cui dò in pasto un timestamp SQL:

    function DateAndTime ($timestamp)
    {
    // timestamp: YYYY-MM-dd
    list($year,$month,$day) = explode("-", $timestamp);

    setlocale(LC_TIME,NULL);

    return strftime("%A %d %B %Y",mktime(0,0,0,$month,$day,$year));
    }

  9. #19
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Adesso non ho sottomano le funzioni di data e ora di php (è un casino ricordarsele a memoria).
    Ma la tua funzione gli visualizza anche il giorno in formato italiano come serve a lui?

  10. #20
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    46
    solo se prima imposti setlocale()

    ciao
    Yuri

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.