Como usar dateline o datetime en sql y php

  • Autor Autor TaurusZDK
  • Fecha de inicio Fecha de inicio
T

TaurusZDK

Gamma
Programador
No recomendado
hola vengo yo de nuevo con otra duda ^^ lo que quiero hacer es crear una columna en ciertas tablas de mi web q recoja el tiempo de registro es decir el tiempo en que fue insertado y e visto ya en varios sitios que cn algo de php se puede lograr que si el registro fue echo hace unos segundos te dice.

nose si me explique bien 🙂 espero su ayuda saludos
 
Solo debes generar la sql en cuestión y guardar al información de .time()
 
como lo ago?.. un ejemplo?

- - - Actualizado - - -

aber supongo que creo una columna en la tabla de post o en otras tablas llamada time y a la hora de insertar datos ya bien sea usando

time() o date('l jS \of F Y h:i:s A') y a la hora de hacer la consulta usaria nueva mente time() o date() para saber la hora local del usuario que visite mi pagina como haria para comparar ambos resultados y en lugar de poner la fecha completa simplemente colocar hace cuanto fue? algo como

hace 3 minutos

como haria eso?
 
No necesitas php, desde el mismo phpmyadmin, en el tipo le pones date y en Predeterminado le pones CURRENT_TIMESTAMP :encouragement:

Captura.webp
 
e.e u al hacer la consulta me devolvera x ejemplo ( mensaje escrito hace 5 minutos) ? e.e

- - - Actualizado - - -

No necesitas php, desde el mismo phpmyadmin, en el tipo le pones date y en Predeterminado le pones CURRENT_TIMESTAMP :encouragement:

Ver el archivo adjunto 48282

lo que quiero es guardar la fecha y luego al cargarla que me diga cuanto tiempo transturrio no creo que con solo sql se pueda e.e
 
Hola

Lo que hago es guardar el timestamp como texto en la base de datos, despues si quieres saber la diferencia solo resta el timestamp actual menos el que tienes en base de datos y ya tienes los segundos, depues solo haces unos alculos y te da el tiempo en lo que quieras.

Ese timestamp tambien lo puedes convertir a formato de dia, por ejemplo el dia que se registro, etc..

Saludos

- - - Actualizado - - -

Bueno aqui te va

PHP:
$hora_actual=time();

$sql = mysql_query("SELECT fecha FROM tablal WHERE idlusuario='$idusuario'");
	$row = mysql_fetch_array($sql100);

$fecha_registro = ($row["fecha"])

//diferencia de fechas en segundos

$diferencia=$hora_actual-$fecha_registro;

LA diferencia la puedes cambiar a minutos o segundo o dias, etc

Saludos
 
Última edición:
aver pruebo y te digo como me va gracias 🙂
 
Yo te recomendaria lo siguiente:
1. define el campo fecha_registro como datetime
2. luego, en el insert haces lo siguiente:
insert into tabla (nombreA, nombreB, fecha_registro, nombreC...)
values('.$valor_nombreA.', '.$valor_nombreB.', NOW(), '.$valor_nombreC.'...)
3. luego, en la consulta debes hacer la conversion desde el mysql haciendo algo asi:
'select *, UNIX_TIMESTAMP(fecha_registro) as fecha1 from tabla'
$fe= $row['fecha'];echo date("d-m-Y H:n", $fe);
4. si quieres hacer una diferencia ya puedes usar las funciones date_diff de php

espero lo entiendas, suerte! :encouragement:
 
el método time() imprime el tiempo actual en formato unix, una vez sacado el tiempo en formato unix de la base de datos solo tienes que usar el método date para formatearlo a tu gusto.
 
Atrás
Arriba