Foros del Web » Programando para Internet » PHP »

Pasar fechas con fomato mysql a su origen

Estas en el tema de Pasar fechas con fomato mysql a su origen en el foro de PHP en Foros del Web. Buenas, pues eso, que en una base de datos tengo unas fechas en el formato date de mysql (000-00-00) y me preguntaba si habia alguna ...
  #1 (permalink)  
Antiguo 02/06/2004, 09:59
 
Fecha de Ingreso: julio-2003
Mensajes: 97
Antigüedad: 20 años, 9 meses
Puntos: 0
Pasar fechas con fomato mysql a su origen

Buenas, pues eso, que en una base de datos tengo unas fechas en el formato date de mysql (000-00-00) y me preguntaba si habia alguna forma de volver a pasar eso al origen, es decir, al numero del que viene esa fecha que sale cuando ponemos time()

Bueno, lo necesitaba para filtrar esas fechas y decir que todas las que sean de una fecha anterior a la de hoy, que no las muestre...

Alguna solución?
  #2 (permalink)  
Antiguo 02/06/2004, 10:08
 
Fecha de Ingreso: julio-2003
Mensajes: 97
Antigüedad: 20 años, 9 meses
Puntos: 0
Vale, q estoy tonto... bueno, ya que lo he preguntado, me contesto...

Código PHP:
$fechaTemp time();
$fecha date("Y-m-d"$fechaTemp);

while(
$myrow=mysql_fetch_object($result))
{
    if(
$myrow->startDate $fecha)
        echo 
$myrow->startDate "<br>";    

pero anda, q ya me vale, jeje
  #3 (permalink)  
Antiguo 02/06/2004, 10:15
Avatar de Ds1
Ds1
 
Fecha de Ingreso: junio-2003
Mensajes: 87
Antigüedad: 20 años, 10 meses
Puntos: 0
yo me cree la siguiente funcion
=======================================
function fecha($fech){
if ($fech!=""){
for ($x=1; $x<=4; $x++){$fech= str_replace("-","/",$fech); }
if ($fech[2]=="/"){
$tem= split("/",$fech);
$fech = "$tem[2]-$tem[1]-$tem[0]";
}else{
$tem= split("/",$fech);
$fech = "$tem[2]/$tem[1]/$tem[0]";
}
return ($fech);
}
}

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

a la cual le paso una fecha 2004-06-02 y me retorna 02/06/2004 y si le paso
02/06/2004 me retorna 2004-06-02

asi cuando la necesito mostrarcela al usuario lo hago asi 02/06/2004
y cuando la necesito grabar en mysql lo hago asi 2004-06-02

Salu2
ds1
  #4 (permalink)  
Antiguo 02/06/2004, 11:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
YO de UDs si usan ya SQL para sus consultas a Mysql . sigan usandolo ..

En el caso concreto de dar formato a fechas de Mysql (DATE, DATETIME campos ..) usa:
DATE_FORMAT() de Mysql

más info:
www.mysql.com

Un saludo,
  #5 (permalink)  
Antiguo 02/06/2004, 12:08
Avatar de Ds1
Ds1
 
Fecha de Ingreso: junio-2003
Mensajes: 87
Antigüedad: 20 años, 10 meses
Puntos: 0
yo preferi usar la funcion que anexe anterior mente
debido a que derepente los clientes nos cambian el formato que desean ver

por lo cual es demasiado trabajo cambierlo en todas las consultas a la base!
  #6 (permalink)  
Antiguo 02/06/2004, 12:32
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pero ... si para eso existen las "variables"!!!

Ejemplo:

$formato="%d%...etc";

$sql="SELECT DATE_FORMAT('$formato_fecha',campo_fecha) as mi_fecha FROM tabla";

Si usas dinámicamente $formato .. podrás tener hasta un "config.php" por ahí con el formato de fecha que guste tu cliente o incluso "usuario" para ver esas fechas.

No es sólo una cosa de "trabajar" más en escribir tu código .. sino en hacer un código optimo .. Todo lo que puedas hacer desde SQL siempre es más optimo en rendimiento que pre-procesarlo a su vez en PHP también ..

Ahora .. otro ejemplo: "soy tu cliente .. quiero cambiar rápido de formato de fecha al que me dé la gana" ... (así por ejemplo deja hacerlo muchos sistemas pre-fabricados) donde dice "formato de fecha" uno dá ahí el formato tal cual usa Mysql (o más "limpio" de caracteres de control) ...

En fin .. cada cual que haga lo que estime oportuno . .yo sólo me limito a explicar los pro's y contras de un problema como este de trabajar con "fechas".

Un saludo,
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 13:05.