Foros del Web » Programando para Internet » PHP »

date("d/m/y");

Estas en el tema de date("d/m/y"); en el foro de PHP en Foros del Web. Bien, tengo un problema, no muy grave pero quiero resolverlo. Al insertar una fecha en la base de datos : $fecha = date("d/m/y"); Tal tal..... ...
  #1 (permalink)  
Antiguo 19/12/2002, 14:58
 
Fecha de Ingreso: diciembre-2002
Mensajes: 49
Antigüedad: 15 años
Puntos: 0
date("d/m/y");

Bien, tengo un problema, no muy grave pero quiero resolverlo.

Al insertar una fecha en la base de datos :

$fecha = date("d/m/y");

Tal tal.....

Cuando se guarda en la base, hace una operacion matemática, que puedo hacer ?
  #2 (permalink)  
Antiguo 19/12/2002, 15:04
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Hola,

¿A que te refieres con eso de que te hace una operacion matematica? ¿Has probado a hacer un echo de $fecha para ver si no es de PHP en vez de la BD? Prueba a usar ' en lugar de " en la funcion date(). Me suena de alguna otra pregunta igual que se resolvio asi. Di que version tienes, quizas es un bug.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 19/12/2002, 15:09
 
Fecha de Ingreso: diciembre-2002
Mensajes: 49
Antigüedad: 15 años
Puntos: 0
Bueno, yo una vez lo pregunte, fue antes de que se me borrara todo lo que tenia hecho en php, ahora estoy trabajando de new en lo que perdí, la verdad el / divide la fecha, el - resta, de ahí los signos, bueno, en todo caso se resta el dia menos el mes menos el año, en fin, que se ejecuta una operación matemática al seperar el dia, el mes y el año.
  #4 (permalink)  
Antiguo 19/12/2002, 15:13
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Pues prueba:
Código PHP:
$fecha date('d/m/y'); 
Si tengo tiempo quizas miro en php.net si existe ese bug.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 19/12/2002, 15:27
 
Fecha de Ingreso: diciembre-2002
Mensajes: 49
Antigüedad: 15 años
Puntos: 0
Asias Josemi, pero no, sigue dividiendo...
  #6 (permalink)  
Antiguo 19/12/2002, 15:31
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
¿Que version de PHP tienes y que sistema operativo? Porque quizas es un bug que se soluciona actualizando PHP.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #7 (permalink)  
Antiguo 19/12/2002, 15:33
 
Fecha de Ingreso: diciembre-2002
Mensajes: 49
Antigüedad: 15 años
Puntos: 0
Pues uso PHPTriad. Última version creo.
  #8 (permalink)  
Antiguo 19/12/2002, 20:21
Avatar de BVis  
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 104
Antigüedad: 15 años, 1 mes
Puntos: 0
Una buena manera de meter el momento actual en una base de datos MySQL en un campo tipo Datetime sería:

$sql = "INSERT INTO tabla (ahora) VALUES (NOW())";

Si la tabla se llama "tabla" y el campo DATETIME se llama "ahora", de esta manera queda en la base de datos un registro como:

2002-12-20 03:16:30

Para insertar otros valores, te recomiendo te mires el manual de MySQL, hay ejemplos.
__________________
"Yo opino lo mismo que BVis, el de 'forosdelweb' " - Bill Gates
  #9 (permalink)  
Antiguo 20/12/2002, 12:24
 
Fecha de Ingreso: diciembre-2002
Mensajes: 49
Antigüedad: 15 años
Puntos: 0
Alguien más me echa un cable ? La verdad el último metedo no me gusta demasiado, ademas el campo "fecha" esta en longtext asi que creo que puede funcionar sin necesidad de usar date o datetime.
  #10 (permalink)  
Antiguo 20/12/2002, 15:51
 
Fecha de Ingreso: diciembre-2002
Mensajes: 341
Antigüedad: 15 años
Puntos: 0
Lo mejor sera que actualizes tu versión de PHP.
__________________
guebs - alojamiento web y dominios
www.guebs.com
blog.guebs.com
  #11 (permalink)  
Antiguo 20/12/2002, 16:14
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Mensaje Original por Reeve
Alguien más me echa un cable ? La verdad el último metedo no me gusta demasiado, ademas el campo "fecha" esta en longtext asi que creo que puede funcionar sin necesidad de usar date o datetime.
Un logtext para un campo fecha????? eso es una salvajadaaa! .. please .. informate algo de modelo de datos y de como se trabaja con base de datos .. Usa un campo DATE TIME o DATE o cualquier otro de fechas y usa NOW() es lo mas optimo y rápido .. Luego para mostrar tu fecha en el formato que quieras usa DATE_FORMAT() (de Mysql ...)

Un saludo,
  #12 (permalink)  
Antiguo 20/12/2002, 20:23
Avatar de Chaudx  
Fecha de Ingreso: marzo-2002
Ubicación: Quilpué, Chilito lindo
Mensajes: 345
Antigüedad: 15 años, 9 meses
Puntos: 2
o timestamp

No sé si será más conveniente pero tambien puedes usar un campo tipo timestamp(8) que te guarda los datos de la forma:

yyyymmdd

con el query: Insert into tabla_fecha (ahora) VALUES NOW()

Al examinar la tabla verás un valor como

20021220

para recuperarlos lo puedes formatear también con DATEFOMAT
con un query como el que sigue:
SELECT DATE_FORMAT(ahora, '%d-%m-%Y') FROM tabla_fecha

Eso te seleccionará la fecha de la siguiente forma:

20-12-2002

Espero te sirva de algo

Saludos
__________________
Servicios computacionales
Linux registered User # 306587
Ubuntu user #14563

Última edición por Chaudx; 20/12/2002 a las 20:41
  #13 (permalink)  
Antiguo 21/12/2002, 03:12
 
Fecha de Ingreso: diciembre-2002
Mensajes: 49
Antigüedad: 15 años
Puntos: 0
Asias a t2, lo intentaré a ver que tal.
  #14 (permalink)  
Antiguo 21/12/2002, 04:32
 
Fecha de Ingreso: diciembre-2002
Mensajes: 49
Antigüedad: 15 años
Puntos: 0
La función now() esta bien, pero no es lo que a mi me interesa, solo quiero un date() guardado d/m/Y : Que quede de esta manera 21/12/02... =_=

Código PHP:
<?
$fecha 
date("d/m/y");
echo 
$fecha;
?>
Quedaria : 21/12/02 >> Bien, pues eso es lo que quiero que guarde, en ese orden ademas, creo que se puede hacer, por eso usé el campo longtext, para que se guardara el resultado de la función date.

No se si me explico, alguna alma caritativa que me ayude ?
  #15 (permalink)  
Antiguo 21/12/2002, 05:44
 
Fecha de Ingreso: diciembre-2002
Mensajes: 49
Antigüedad: 15 años
Puntos: 0
Bien ya lo e conseguido aun teniendo la tabla en campo longtext, lo único que hacia falta para que el d/m/y no ejecutara la operación de división era usar las ' ' entre la $fecha, despues del values.

$fecha = "d/m/y";

INSERT INTO usuarios (fecha) VALUES ('$fecha');
De esta manera se a guardado 21/12/02...

Bien al menos, ya e resuelto el problema, thanks a todos!

  #16 (permalink)  
Antiguo 21/12/2002, 09:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Insito Reeve .. .

Tienes que conocer los tipos de datos para los campos de una tabla Mysql .. y conocer la sintaxis de las sentencias SELECT .. INSERT y las que necesites ..

EL campo NOW() guarda FECHA y HORA pero .. si ubieras mirado el manual .. verias q tienes si tu campo es un formato DATE .. solo te guarda la FECHA .. si es TIME .. te guarda solo la HORA y si es DATETIME te guarda ambos

Con ese campo LONGTEXT (no podias escoger uno mas grande? :P) ya veras tu lo que te complicaras cuando empieces a operar con fechas (resta de fechas, .. o cualquier otra cosa).


En fin ... Si te apetece aprender hacer las cosas bien:
http://www.mysql.com/doc/en/Date_and...functions.html

Si no te apetece .. haz caso omiso a esto que digo .. Si alguien lo lee y le aptece hacer las cosas bien .. q tome nota.

Y para otra vez .. pon mas código .. todo por unas comillas que te dejastes .. si hubiermos visto como "metias" tu $fecha en la sentencia SQL q usas ubieramos resuelto mas rápido tu porblema ...

Un saludo,
Un saludo,
  #17 (permalink)  
Antiguo 21/12/2002, 10:04
 
Fecha de Ingreso: diciembre-2002
Mensajes: 49
Antigüedad: 15 años
Puntos: 0
Ok ok, iré a mirarlas, solo soy un aprendiz xD Tienes razón tenia que haber puesto más código, para otra vez lo tendré en cuenta.

Asias!



Por cierto, algunos campos ya los conozco, otros no, "la mayoria" xD.

Última edición por Reeve; 21/12/2002 a las 10:07
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 16:59.