Foros del Web » Programando para Internet » PHP »

A getdate(marca_tiempo) en que formato hay que pasarle la marca de tiempo??

Estas en el tema de A getdate(marca_tiempo) en que formato hay que pasarle la marca de tiempo?? en el foro de PHP en Foros del Web. Hola, estoy intentando utilizar getdate para que me devuelva los datos necesarios de una fecha para poder formatear la fecha 22/11/2007 14:35 al formato "Martes ...
  #1 (permalink)  
Antiguo 04/12/2007, 10:08
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años
Puntos: 0
A getdate(marca_tiempo) en que formato hay que pasarle la marca de tiempo??

Hola,

estoy intentando utilizar getdate para que me devuelva los datos necesarios de una fecha para poder formatear la fecha 22/11/2007 14:35 al formato "Martes 22 de Noviembre de 2007 a las 14:35".

actualmente estoy pasandole la fecha en el formato español, pero el número de día que me devuelve es incorrecto...

Código PHP:
$datos_fecha getdate("22/11/2007 14:35"); 
esto me devuelve que el dia 22 del 11 era Jueves y no, era martes...

Código PHP:
$dias = Array("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sabado");

$dias[$datos_fecha["wday"]] 
he de formatearla al inglés? MM/DD/AAAA HH:MM ?
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #2 (permalink)  
Antiguo 04/12/2007, 10:11
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años
Puntos: 0
Re: A getdate(marca_tiempo) en que formato hay que pasarle la marca de tiempo??

Cita:
Iniciado por markshock Ver Mensaje
Hola,

estoy intentando utilizar getdate para que me devuelva los datos necesarios de una fecha para poder formatear la fecha 22/11/2007 14:35 al formato "Martes 22 de Noviembre de 2007 a las 14:35".

actualmente estoy pasandole la fecha en el formato español, pero el número de día que me devuelve es incorrecto...

Código PHP:
$datos_fecha getdate("22/11/2007 14:35"); 
esto me devuelve que el dia 22 del 11 era Jueves y no, era martes...

Código PHP:
$dias = Array("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sabado");

$dias[$datos_fecha["wday"]] 
he de formatearla al inglés? MM/DD/AAAA HH:MM ?
he probado pasandole
Código PHP:
$datos_fecha getdate("11/22/2007 14:35"); 
pero también me devuelve un jueves.... jarl!!!!
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #3 (permalink)  
Antiguo 04/12/2007, 10:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: A getdate(marca_tiempo) en que formato hay que pasarle la marca de tiempo??

Prueba usando setlocale para cambiar el idioma en que te regresa los datos.

Saludos.
  #4 (permalink)  
Antiguo 04/12/2007, 10:45
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años
Puntos: 0
Re: A getdate(marca_tiempo) en que formato hay que pasarle la marca de tiempo??

Cita:
Iniciado por GatorV Ver Mensaje
Prueba usando setlocale para cambiar el idioma en que te regresa los datos.

Saludos.
y como lo pongo..?

así tal cual?

Código PHP:
setlocale(LC_TIME,"esp"); 
por que no me varía nada...
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #5 (permalink)  
Antiguo 04/12/2007, 10:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: A getdate(marca_tiempo) en que formato hay que pasarle la marca de tiempo??

Hay varias combinaciones puedes usar ES_es, o ES_mx, o esp-esp, checa el manual de PHP tiene links a las paginas con todas las posibles combinaciones ya que depende del SO sobre el que se este ejecutando PHP.

Saludos.
  #6 (permalink)  
Antiguo 04/12/2007, 10:57
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años
Puntos: 0
Re: A getdate(marca_tiempo) en que formato hay que pasarle la marca de tiempo??

Cita:
Iniciado por GatorV Ver Mensaje
Hay varias combinaciones puedes usar ES_es, o ES_mx, o esp-esp, checa el manual de PHP tiene links a las paginas con todas las posibles combinaciones ya que depende del SO sobre el que se este ejecutando PHP.

Saludos.
poniendo esto

Código PHP:
<?
            setlocale
(LC_TIME,"ES_es");
            
$hoy getdate("22/11/2007 14:35");
            
$dias = Array("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sabado");

echo(
$hoy["wday"]." - ".$dias[$hoy["wday"]];);
        
?>
me sigue devolviendo 4 = Jueves :(
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #7 (permalink)  
Antiguo 04/12/2007, 12:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: A getdate(marca_tiempo) en que formato hay que pasarle la marca de tiempo??

Eso siempre te va a salir, ya que en tu array asi tienes las pocisiones:

0 => Domingo
1 => Lunes
2 => Martes
3 => Miércoles
4 => Jueves
5 => Viernes
6 => Sábado

Saludos
  #8 (permalink)  
Antiguo 05/12/2007, 02:31
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años
Puntos: 0
Re: A getdate(marca_tiempo) en que formato hay que pasarle la marca de tiempo??

vale.. si claro....pero que me salga bien... jejeje

por que el día 22/11/2007 no es jueves (4) es martes (2)... según las especificaciones de getdate();

"wday" -> Representación numérica del día de la semana -> 0 (para el Domingo) a 6 (para el Sábado)

entiendes?
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #9 (permalink)  
Antiguo 05/12/2007, 06:02
 
Fecha de Ingreso: septiembre-2007
Mensajes: 220
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: A getdate(marca_tiempo) en que formato hay que pasarle la marca de tiempo??

Esa función no acepta esa entrada, tienes que meterle una marca de tiemp unix, si lo seleccionas desde mysql prueba UNIX_TIMESTAMP(campo).
  #10 (permalink)  
Antiguo 05/12/2007, 06:20
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años
Puntos: 0
Re: A getdate(marca_tiempo) en que formato hay que pasarle la marca de tiempo??

Cita:
Iniciado por Sanubrio Ver Mensaje
Esa función no acepta esa entrada, tienes que meterle una marca de tiemp unix, si lo seleccionas desde mysql prueba UNIX_TIMESTAMP(campo).
si que lo selecciono desde base de datos, pero no desde un campo del tipo "date"...

el formato unix cual es? voy a verlo...
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #11 (permalink)  
Antiguo 05/12/2007, 06:24
 
Fecha de Ingreso: septiembre-2007
Mensajes: 220
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: A getdate(marca_tiempo) en que formato hay que pasarle la marca de tiempo??

De dónde la sacas con ese formato?? Este es
  #12 (permalink)  
Antiguo 05/12/2007, 06:36
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años
Puntos: 0
Re: A getdate(marca_tiempo) en que formato hay que pasarle la marca de tiempo??

Cita:
Iniciado por Sanubrio Ver Mensaje
De dónde la sacas con ese formato?? Este es
vale el problema es que yo tengo la fecha en el siguiente formato:

pongamos que hoy es 05/12/2007 13:30

pues en la base de datos lo tengo del siguiente modo: 200712051330

claro esto he de convertirlo a formato Unix para pasarselo a getdate...jarl..
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #13 (permalink)  
Antiguo 05/12/2007, 06:53
 
Fecha de Ingreso: septiembre-2007
Mensajes: 220
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: A getdate(marca_tiempo) en que formato hay que pasarle la marca de tiempo??

Aunque es mejor y más simple con esas funcione que te dije, si ya lo tienes así:

Código PHP:
function comprobarMiFecha($fecha)
{
    if (!
is_numeric($fecha) || strlen($fecha) != 12)
    {
        return 
false;
    }
    
    return 
true;
}

function 
datosMiFecha($fecha)
{
    if (!
comprobarMiFecha($fecha))
    {
        return 
false;
    }
    
    
$ano    substr($fecha04);
    
$mes    substr($fecha42);
    
$dia    substr($fecha62);
    
$hora   substr($fecha82);
    
$minuto substr($fecha102);
    
    return array(
      
'ano' => $ano,
      
'mes' => $mes,
      
'dia' => $dia,
      
'hora' => $hora,
      
'minuto' => $minuto
    
);
}

function 
convertirMiFechaUnix($fecha)
{
    if (!
comprobarMiFecha($fecha))
    {
        return 
false;
    }
    
    
$datos datosMiFecha($fecha);
    
    return 
mktime($datos['hora'], $datos['minuto'], 0$datos['mes'], $datos['dia'], $datos['ano']);
}

$mifecha 200711221330;

print_r(getdate(convertirMiFechaUnix($mifecha))); 
  #14 (permalink)  
Antiguo 05/12/2007, 07:43
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años
Puntos: 0
Re: A getdate(marca_tiempo) en que formato hay que pasarle la marca de tiempo??

Cita:
Iniciado por Sanubrio Ver Mensaje
Aunque es mejor y más simple con esas funcione que te dije, si ya lo tienes así:

Código PHP:
function comprobarMiFecha($fecha)
{
    if (!
is_numeric($fecha) || strlen($fecha) != 12)
    {
        return 
false;
    }
    
    return 
true;
}

function 
datosMiFecha($fecha)
{
    if (!
comprobarMiFecha($fecha))
    {
        return 
false;
    }
    
    
$ano    substr($fecha04);
    
$mes    substr($fecha42);
    
$dia    substr($fecha62);
    
$hora   substr($fecha82);
    
$minuto substr($fecha102);
    
    return array(
      
'ano' => $ano,
      
'mes' => $mes,
      
'dia' => $dia,
      
'hora' => $hora,
      
'minuto' => $minuto
    
);
}

function 
convertirMiFechaUnix($fecha)
{
    if (!
comprobarMiFecha($fecha))
    {
        return 
false;
    }
    
    
$datos datosMiFecha($fecha);
    
    return 
mktime($datos['hora'], $datos['minuto'], 0$datos['mes'], $datos['dia'], $datos['ano']);
}

$mifecha 200711221330;

print_r(getdate(convertirMiFechaUnix($mifecha))); 
madre mía que grande eres sanubrio... no lo hubiera hecho mejor, ni en 3 días..
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
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 21:29.