Foros del Web » Programando para Internet » PHP »

Idioma de la fecha

Estas en el tema de Idioma de la fecha en el foro de PHP en Foros del Web. hola a todos ante todo enorabuena por el foro es muy interesante bueno mi problema es que tengo una aplicacion de esas prefabricadas en php ...
  #1 (permalink)  
Antiguo 18/12/2005, 10:45
 
Fecha de Ingreso: noviembre-2004
Mensajes: 2
Antigüedad: 13 años
Puntos: 0
Idioma de la fecha

hola a todos ante todo enorabuena por el foro es muy interesante

bueno mi problema es que tengo una aplicacion de esas prefabricadas en php y archivos tpl estaba en ingles y tube que traducir todo al español pero no soy capaz de traducir la fecha para que me salga en español, yo soy muy novato en esto y no consigo encontrar el codigo a cambiar. aqui os dejo el codigo que supuestamente seria para cambiar el idioma

puntuar que es una aplicacion para alquilas dvd online y la fecha sale en todos lo email que manda el sistema y en el dia que agregaste el dvd ala base de datos. si necesitais algun archivo mas para esaminar solo pedirlo

gracias por todo


Código PHP:
// converting SQL Formatted date to HUMAN UNDERSTANDABLE & READABLE DATE (HURT)
// $sql_date = date in sql format (yyyy-mm-dd)
// $mode = [1 = dayname, monthname dd, yyyy; 0/else = mm/dd/yyyy]
// $days = [0 / blank = return specified date; X = return X days after specified date]
// and translate it to other language (if configured) ... still, much more easier than i though! REALLY!
function convert_date ($sql_date$mode '0'$days 0)
{
    global 
$config$lang;
    if (empty (
$sql_date)) $sql_date date ('Y-m-d');
    
$thn substr($sql_date04);
    
$bln substr($sql_date52);
    
$tgl substr($sql_date82);
    
$tglbener mktime(000$bln$tgl$thn);
    if (
$days != 0) { $tglbener $tglbener + ($days 24 3600); }

    switch ((string) 
$mode)
    {
        case 
'1':
         
$tanggal date ($lang['l_long_date_format'], $tglbener);
        break;

        case 
'0':
         
$tanggal date ($lang['l_short_date_format'], $tglbener);
        break;

        case 
'sql':
         
$tanggal date ('Y-m-d'$tglbener);
         return 
$tanggal;
        break;
    }

    
// translate (if configured)
    
if ($config['multi_lang'])
    {
        
$i 0;
        @
reset($lang['datetime]);
        while (list($key, $val) = @each($lang['
datetime]))
        {
            
$i++;
            
$search[$i] = $key;
            
$replace[$i] = $val;
        }

        return 
str_replace ($search$replace$tanggal);
    }
    else
    {
        return 
$tanggal;
    }

}


// verify SQL formatted date (yyyy-mm-dd)
function verify_date ($sql_date)
{
    
$thn substr($sql_date04);
    
$bln substr($sql_date52);
    
$tgl substr($sql_date82);
    
$bener checkdate($bln$tgl$thn);
    return 
$bener;


Última edición por thezombie; 18/12/2005 a las 11:04
  #2 (permalink)  
Antiguo 18/12/2005, 11:22
 
Fecha de Ingreso: diciembre-2005
Mensajes: 122
Antigüedad: 12 años
Puntos: 0
mira, para que date devuelva los nombres de los dias y meses en español habria que agregar:
Código:
setlocale(LC_TIME, 'spanish');
  #3 (permalink)  
Antiguo 18/12/2005, 11:27
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 12 años, 2 meses
Puntos: 18
Creo que llamando a esa función con el parámetro segundo a 1 te devuelve la fecha en formato dia/mes/año (según pone en los comentarios).
Suerte.
  #4 (permalink)  
Antiguo 18/12/2005, 16:06
 
Fecha de Ingreso: noviembre-2004
Mensajes: 2
Antigüedad: 13 años
Puntos: 0
Cita:
Iniciado por plus_ultra
mira, para que date devuelva los nombres de los dias y meses en español habria que agregar:
Código:
setlocale(LC_TIME, 'spanish');

gracias por la respuesta pero necesitaria saber en ke parte del codigo tengo que agregar eso

la respuesta del otro compañeo la probe pero no funciona solo me cambia el formato para mostrar la fecha pero no el idioma
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:37.