Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2015
    Messaggi
    50

    funzione date("D dd-mm-yyyy"); ma con i nomi dei giorni in italiano

    scusate ma non ho trovato una risposta in rete..
    come si fà per ottenere come risultato dalla funzione sopra indicata qualcosa del tipo:
    lun 01/05/2019 ?
    cioè il nome del giorno espresso in 3 caratteri ma in lingua italiana per capirci.
    grazie a tutti per l'aiuto!

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    date() non prevede traduzioni nativamente, se vuoi per forza usare date() devi usare dei workaround, ti fai un array con i nomi in italiano e prendi quello giusto in base a ciò che restituisce date().

    In alternativa puoi fare una cosa così
    Codice PHP:
    // imposti la lingua voluta in output e contemporaneamente ti salvi la lingua corrente impostata in caso fosse diversa
    $old_locale setlocale(LC_TIME'it_IT');

    // stampi la data nella lingua impostata sopra
    echo utf8_encodestrftime("%a %d-%m-%Y"time()) );

    // reimposti la lingua che era in uso prima di questo codice
    setlocale(LC_TIME$old_locale); 
    Ultima modifica di Alhazred; 01-06-2019 a 11:31

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2015
    Messaggi
    50
    Per prima cosa grazie.
    premessa sono un novizio e quindi riesco a seguire le indicazioni ma fino ad un certo punto.
    Avevo anche trovato in rete questo script che mi poteva andar bene salvo per il fatto che non mi dà l'abbreviazione dei giorni:

    setlocale(LC_TIME, 'ita', 'it_IT');

    echo strftime("%A %d %B %Y");

    ================================================== ========
    avevo anche pensato di creare un array per le abbreviazioni dei giorni ma non sò come combinarlo con la funzione date ();

    es: $shortday = array("lun","mar","mer","gio","ven","sab","dom");

    ================================================== ========

    cmq grazie lo stesso.

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Se strftime() non ti da la traduzione italiana, vuol dire che sul server non è installata la nostra lingua.

    date('N');

    restituisce il numero del giorno: 1=lunedì ... 7=domenica, quindi se ti crei un array così

    $shortday = ['', 'lun,'mar',...,'dom'];

    puoi avere il nome del giono in italiano con $shortday[date('N')]

    Nota che il primo elemento dell'array $shortday è impostato come stringa vuota, perché i giorni partono da 1.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2015
    Messaggi
    50
    Grazie era quello che cercavo !

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