Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Da DATE a data italiana estesa

    Ciao a tutti
    sto cercando di convertire un campo DATE (AAAA-MM-GG) in una data "umana" (Giorno GG Mese AAAA)

    Ho provato con questa funzione ma qualcosa non funziona.

    Codice PHP:
    function return_day_of_week($date)
        {
            
    $sy=substr($date04);
            
    $sm=substr($date52);
            
    $sd=substr($date82);
            
    $date_utc=mktime(0,0,0,$sm$sd$sy);
            
    $today_utc=mktime(0,0,0,date("m"), date("d"), date("Y"));
            if(
    $date_utc>$today_utc){
                
    $future_date=1;
                
    $temp=$date_utc;
                
    $date_utc=$today_utc;
                
    $today_utc=$temp;
            }
            
    $utc_difference=$today_utc-$date_utc;
            
    $weeks_count=($utc_difference)/604800;
            if(
    $weeks_count<10)
                
    $weeks_count=substr($weeks_count01);
            else if(
    $weeks_count<100)
                
    $weeks_count=substr($weeks_count02);
            else if(
    $weeks_count<1000)
                
    $weeks_count=substr($weeks_count03);
            
    $days_rest_count=substr(($utc_difference-$weeks_count*604800)/8640001);
            
    $was_day_of_week=date("w")-$days_rest_count;
            if(
    $was_day_of_week 0){
                if(
    $future_date==1)
                    
    $was_day_of_week=0-$was_day_of_week;
                else
                    
    $was_day_of_week+=7;
            }
            return 
    $was_day_of_week;
        } 
    Dove sbaglio? :S

  2. #2
    così ti può andare?
    Codice PHP:
    <?php
     $data
    ="2009-11-16";
        
    $a=explode("-",$data);

    switch(
    $a[1])
    {
    case 
    "01":$month="Gennaio";break;
    case 
    "02":$month="Febbraio";break;
    case 
    "03":$month="Marzo";break;
    case 
    "04":$month="Aprile";break;
    case 
    "05":$month="Maggio";break;
    case 
    "06":$month="Giugno";break;
    case 
    "07":$month="Luglio";break;
    case 
    "08":$month="Agosto";break;
    case 
    "09":$month="Settembre";break;
    case 
    "10":$month="Ottobre";break;
    case 
    "11":$month="Novembre";break;
    case 
    "12":$month="Dicembre";break;
    }

    echo 
    $a[2]."-".$month."-".$a[0];


    ?>

  3. #3
    Si, ma a me interessa soprattutto il giorno della settimana (lunedì, martedì....).
    Ho creato gli array dei giorni della settimana e dei mesi dell'anno. Devo solo ottenere l'indice del giorno della settimana.

  4. #4
    un 'altro switch in base alla risposta della funzione date("w",$timestamp) e metti lunedi,martedì etc

  5. #5
    Codice PHP:
    function DateToIt($date){
            
    $date explode('-'$date); //ANNO, MESE, GIORNO

            
    $date date("d/m/y"mktime(000$date[1], $date[2], $date[0]));

            return 
    $date;
        } 
    oppure


    Codice PHP:
        function ItalianString ($date) {//, $date_format="l j F Y - H:i:s", $lang=it

                
    $giorno_corrente date("j");
                
    $mese_corrente date("n");
                
    $giorno_sett date("w");

                
    $date explode('-'$date); //ANNO, MESE, GIORNO
                
    $date mktime(000$date[1], $date[2], $date[0]);



                
    $mesi = array(1=>"Gennaio""Febbraio""Marzo""Aprile""Maggio""Giugno""Luglio""Agosto""Settembre""Ottobre""Novembre""Dicembre");
                
    $giorni = array("Domenica""Lunedì""Martedì""Mercoledì""Giovedì""Venerdì""Sabato");


                
    $ItalianString $giorni[date('w'$date)] . " " date('j'$date) . " " $mesi[date('n'$date)] . " " date('Y'$date);
                return 
    $ItalianString;
        } 
    ad entrambi devi passare la data in formato americano Y-m-d

  6. #6
    Do anche io la mia versione
    Codice PHP:
    $data="2009-11-16"
    setlocale(LC_TIME"it_IT");
    echo 
    ucwords(strftime("%A %e %B %Y",strtotime($data))); 

  7. #7
    Grazie a tutti per la tempestività !

    Ho scelto la versione di leonapster

    Grazie ancora

  8. #8
    Vi prego, datemi una mano... dagli esempi sopra non sono riuscito a cavare un ragno dal buco... ma di php ci capisco niente...

    io ho trovato questo codice che mi restituisce il mese in inglese e l' anno...

    codice:
     prints the month and year that are passed to it in
      $date
    */
    function printMonth($_month, $_year)
    {
    
    $timestamp = mktime(0,0,0,$_month,1,2000);
    $date = getdate ($timestamp);
    $monthText = $date['month'];
    
    ...
    
    <td align=\"center\" width=\"355\" valign=\"top\"><font class=\"month\">$monthText $_year</font></td>

    ma gradirei scrivere il nome del mese in italiano visto che la nostra è la lingua più bella del mondo...

    mi date una mano? grazie in anticipo...

    se serve vi posso anche fornire il file completo...

    Gazie infinite...

  9. #9
    Non potendo fare l' edit del messaggio precedente, devo scrivere un altro post...

    Problema risolto, grazie lo stesso....

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.