Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicitÓ e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - Traduzione di una data (EN > IT)
Forum - PHP - Traduzione di una data (EN > IT)

Avatar
Milmor94 (Normal User)
Rookie


Messaggi: 43
Iscritto: 10/07/2011

Segnala al moderatore
Postato alle 12:28
Domenica, 22/04/2012
Come da titolo, avrei la necessitÓ di tradurre una data in formato [j F Y] (es. 22 April 2012), in italiano. Ovviamente il cambio della lingua nel formato esposto Ŕ limitato alla sola traduzione del mese.

Ho provato in diversi modi, tra cui il seguente:
Codice sorgente - presumibilmente Plain Text

  1. <?php
  2. setlocale(LC_TIME, "it_IT");
  3. echo date("j F Y",strtotime(get_post_meta($post->ID, 'data_di_inizio', true)));
  4. ?>


...Ma il risultato Ŕ sempre in inglese (es. 22 April 2012)

Grazie in anticipo :)


PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 18:41
Domenica, 22/04/2012
prova cosý

Codice sorgente - presumibilmente Plain Text

  1. setlocale(LC_TIME, "ita");
  2. echo strftime("%d %B %Y");





se berlusconi ha i capelli, Ŕ grazie alla ricerca

http://antonioserver.altervista.org
PM Quote
Avatar
Milmor94 (Normal User)
Rookie


Messaggi: 43
Iscritto: 10/07/2011

Segnala al moderatore
Postato alle 18:57
Domenica, 22/04/2012
Codice sorgente - presumibilmente Plain Text

  1. <?php setlocale(LC_TIME, "ita"); echo strftime("%d %B %Y",strtotime(get_post_meta($post->ID, 'data_di_inizio', true)));?>



Il risultato Ŕ sempre in Inglese... (22 April 2012)


PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 21:00
Lunedý, 23/04/2012
non so come aiutarti, io all' esecuzione di questo codice
Codice sorgente - presumibilmente Plain Text

  1. <?php
  2.     setlocale(LC_TIME, "ita");
  3.     $data=strtotime("31-12-2011");
  4.     echo strftime("%d %B %Y",$data);
  5. ?>



stampa 31 dicembre 2011


se berlusconi ha i capelli, Ŕ grazie alla ricerca

http://antonioserver.altervista.org
PM Quote
Avatar
Milmor94 (Normal User)
Rookie


Messaggi: 43
Iscritto: 10/07/2011

Segnala al moderatore
Postato alle 22:04
Lunedý, 23/04/2012
Lo stesso codice nel mio caso restituisce 31 December 2011

A questo punto credo che il problema sia il server di Hosting (CVD). :_doubt:

Grazie mille lo stesso!

Ultima modifica effettuata da Milmor94 il 23/04/2012 alle 22:05


PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 22:23
Lunedý, 23/04/2012
una soluzione sarebbe creare un array di corrispondenza dei mesi:
$mesi=array('January'=>'gennaio',...)
splittare la stringa della data, e ricomporla con l' elemento dell' array corrispondente al mese in inglese
un po' macchino ma risolutivo


se berlusconi ha i capelli, Ŕ grazie alla ricerca

http://antonioserver.altervista.org
PM Quote
Avatar
Milmor94 (Normal User)
Rookie


Messaggi: 43
Iscritto: 10/07/2011

Segnala al moderatore
Postato alle 19:51
Martedý, 24/04/2012
Et voilÓ :)
Codice sorgente - presumibilmente Plain Text

  1. <?php
  2. $mesi = array(1=>'gennaio', 'febbraio', 'marzo', 'aprile',
  3.                 'maggio', 'giugno', 'luglio', 'agosto',
  4.                 'settembre', 'ottobre', 'novembre','dicembre');
  5.  
  6. $giorni = array('domenica','luned├Č','marted├Č','mercoled├Č',
  7.                 'gioved├Č','venerd├Č','sabato');
  8.  
  9. list($sett,$giorno,$mese,$anno) = explode('-',date('w-d-n-Y',strtotime(get_post_meta($post->ID, 'data_di_inizio', true))));
  10.  
  11. echo $giorni[$sett],' ',$giorno,' ',$mesi[$mese],' ',$anno;
  12. ?>



Adesso tutto funziona! (Era per un sistema di gestione degli eventi: http://tinyurl.com/d8t3a6l)
Ri-Grazie :k:


PM Quote