Foros del Web » Programando para Internet » PHP »

Guardar Hora en mi B.D:

Estas en el tema de Guardar Hora en mi B.D: en el foro de PHP en Foros del Web. Hola Quisiera saber como guardar la hora en un campo de mi Base de datos : "15:20" no quiero que se guarde la hora del ...
  #1 (permalink)  
Antiguo 27/07/2006, 17:05
Avatar de helthon  
Fecha de Ingreso: junio-2005
Ubicación: Lima
Mensajes: 549
Antigüedad: 19 años, 5 meses
Puntos: 7
Guardar Hora en mi B.D:

Hola Quisiera saber como guardar la hora en un campo de mi Base de datos : "15:20" no quiero que se guarde la hora del servidor, hay forma que se guarde con respecto a la fecha actual de cada pc

thank
__________________
HELTHON FUENTES
FLORERIA FLORES PERU Floresperu.com.pe
Garantizamos que cada entrega de flores será de la más alta calidad y frescura
  #2 (permalink)  
Antiguo 27/07/2006, 17:20
Avatar de pato_volador  
Fecha de Ingreso: octubre-2005
Ubicación: Planeta tierra
Mensajes: 254
Antigüedad: 19 años, 1 mes
Puntos: 0
Hola, primero debes de saber que PHP es un lengueje que trabaja del lado del servidor, por lo que si quieres tomar datos de la pc del cliente entonces debes de recurrir a otro lenguaje, en este caso puedes usar javascript (en lo personal creo que son una buena pareja... PHP con Javascript) para tomar la hora de la maquina donde se esta ejecutando tu script usa lo siguiente:

Código:
<script language="javascript" type="text/javascript">
function horario()
{
var d = new Date()
hora = d.getHours()+ ":"+d.getMinutes();
alert (hora);
}
</script>
La variable "hora" contiene la hora de la pc, lo que te toca a ti es guardar esa variable en un textbox (oculto de preferencia) para que sea enviada al momento de enviar el formulario y sea guardada en la base de datos.

Me imagino q puedes mandar llamar la funcion horario al momento de hacer el submit de tu formulario. Obviamente debes de modificar la funcion...
mmmmm hechandole plumas de pato me imagino algo asi:


Código:
<script language="javascript" type="text/javascript">
function horario()
{
var d = new Date()
hora = d.getHours()+ ":"+d.getMinutes();
document.getElementById('campo_oculto_hora').value = hora
}
</script>
Aqui puedes ver que el valor de la caja llamada "campo_oculto_hora" toma el valor de la variable "hora" antes de ser enviada por el formulario.

Saludos!!!!
__________________
De todas las cosas que queria ser... :-D acabe siendo un pato volador... :risa:
http://patovolador.wordpress.com
  #3 (permalink)  
Antiguo 28/07/2006, 07:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por helthon
Hola Quisiera saber como guardar la hora en un campo de mi Base de datos : "15:20" no quiero que se guarde la hora del servidor, hay forma que se guarde con respecto a la fecha actual de cada pc

thank
Y para que te sirve ese dato? .. cuando ese dato perfectamente puede ser alterado por el usuairo de ese PC?

Si tienes algún problema por ejemplo para calcular la diferencia horaria de lo que la hora de tu servidor te entrega con lo que el usuario necesite ver (dentro de su franja horaria), .. eso se resuelve de otra forma (tomando la hora com GMT 0 y a lahora de presentar esos datos ya le aplicacas la diferencia horaria según requieras).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 28/07/2006, 12:53
Avatar de helthon  
Fecha de Ingreso: junio-2005
Ubicación: Lima
Mensajes: 549
Antigüedad: 19 años, 5 meses
Puntos: 7
Saludos Cluster, Lo que deseo es ver la manera precisa de tener un historial de cada usuario cuando ingrese al sistemita web que tengo.

Era una opcion de ver por la hora de la pc, pero despues estaba pensando en restar la hora que tiene mi servidor con la diferiencia de mi hora local, pero no logro saberlo, la diferencia es de una hora.

Gracias por sus comentarios
__________________
HELTHON FUENTES
FLORERIA FLORES PERU Floresperu.com.pe
Garantizamos que cada entrega de flores será de la más alta calidad y frescura
  #5 (permalink)  
Antiguo 28/07/2006, 12:59
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Si es así no puedes confiar para nada en la hora que tu "cliente" tenga (tu usuario que accede a tu sistema) eso no es válido, imagina que yo "detecto" que tu sistema funciona así y me cambio la hora de mi PC? ...

Tu debes tomar la hora actual (y fecha) de ingreso de tu usuario a -tu aplicaicón- desde el servidor .. y si tu servidor está en una franja horaria diferente a la de los usuarios de tu sistema .. a la hora de guardar esa información de fecha/hora o a la hora de presentarlo .. le aplicas la diferencia horaria. De hecho para evitar problemas si un día cambias de proveedor y este está en -otra- franja horaria es guardar la hora en formato GMT 0 y de ahí según el cliente y sus preferencias ajusten hacer el cálculo de diferencia horaria a la hora de presentar estos datos .. Eso ya queda a tu criterio.

Fijate que la hora del "servidor" no cambia y es una .. la de los "clientes" puede cambiar y son muchas diferentes (o a caso están "sincronizados" con algún servidor de hora NTP? de igual forma eso no corresponde).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 28/07/2006, 13:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Para el cálculo de fechas puedes usar:

De PHP:
mktime()
ó
gmmktime()

y Date()

También:
strtotime()

Así compones tus fechas como quieras.

Si usas PHP 5.1.x en adelante hay funciones para pre-definir la franja horaria y así operar normalmente con tus funciones de fecha:

date_default_timezone_set()

Pero si registras esos datos en BBDD .. en SQL también puedes hacerlo.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 14:12.