Foros del Web » Programando para Internet » PHP »

como cambiar la hora en mi base de datos de mysql

Estas en el tema de como cambiar la hora en mi base de datos de mysql en el foro de PHP en Foros del Web. mi duda es por que hice un registro en php pero pero a la hora de guardar el registro me da la fecha incorrecta en ...
  #1 (permalink)  
Antiguo 27/01/2013, 18:20
Z3R0_C00L
Invitado
 
Mensajes: n/a
Puntos:
Pregunta como cambiar la hora en mi base de datos de mysql

mi duda es por que hice un registro en php pero pero a la hora de guardar el registro me da la fecha incorrecta en la base de datos en phpmyadmin esta adelantado 6 horas como puedo solucionar esto gracias a todos
  #2 (permalink)  
Antiguo 27/01/2013, 18:48
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: como cambiar la hora en mi base de datos de mysql

Depende de cómo estés tomando el dato de la hora. Si lo haces en el SQL o desde el PHP, te recuerdo que ambos se ejecutan en servidor, por lo que si tomas la hora del sistema te tomará la hora del sitio donde el servidor está.
Hay dos formas de resolver el asunto: Por un lado puedes enviar el dato desde el cliente, junto con todos los datos que el formulario envía.
Por otro lado es posible cambiar la TMZ, cosa que encontrarás en Google si buscas un poco (https://www.google.com.ar/search?q=p...ient=firefox-a), con mucho sobre el tema.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 27/01/2013, 20:44
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: como cambiar la hora en mi base de datos de mysql

Holas,

En la seccion de Base de datos creo que te podrian dar la solucion exacta, pero que recuerde podrias hacerlo en el mismo SQL algo como:

Código SQL:
Ver original
  1. SELECT .... NOW() + INTERVAL 6 HOUR ....

Pero con PHP puedes usar la clase DATETIME y DATEINTERVAL, algo como:

Código PHP:
Ver original
  1. $fecha->add(new DateInterval('P6H'));

http://php.net/manual/es/datetime.add.php

Saludos,
__________________
.: Gildus :.
  #4 (permalink)  
Antiguo 02/02/2013, 19:15
Z3R0_C00L
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: como cambiar la hora en mi base de datos de mysql

Cita:
Iniciado por gildus Ver Mensaje
Holas,

En la seccion de Base de datos creo que te podrian dar la solucion exacta, pero que recuerde podrias hacerlo en el mismo SQL algo como:

Código SQL:
Ver original
  1. SELECT .... NOW() + INTERVAL 6 HOUR ....

Pero con PHP puedes usar la clase DATETIME y DATEINTERVAL, algo como:

Código PHP:
Ver original
  1. $fecha->add(new DateInterval('P6H'));

[url]http://php.net/manual/es/datetime.add.php[/url]

Saludos,
hola gildus como le hago o donde pongo el primer codigo en sql que me diste mi base de datos se llama prueba y mi tabla tbl_users y la columna que me marca mal el horario es dt_registro como quedaria muchas gracias
  #5 (permalink)  
Antiguo 02/02/2013, 20:20
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: como cambiar la hora en mi base de datos de mysql

Holas,

Podes probar con :
Código SQL:
Ver original
  1. SELECT dt_registro + INTERVAL 6 HOUR AS nombre_del_campo FROM tbl_users;

Y en el PHP el campo seria "nombre_del_campo".

Saludos,
__________________
.: Gildus :.
  #6 (permalink)  
Antiguo 02/02/2013, 21:12
Z3R0_C00L
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: como cambiar la hora en mi base de datos de mysql

Cita:
Iniciado por gildus Ver Mensaje
Holas,

Podes probar con :
Código SQL:
Ver original
  1. SELECT dt_registro + INTERVAL 6 HOUR AS nombre_del_campo FROM tbl_users;

Y en el PHP el campo seria "nombre_del_campo".

Saludos,
-- phpMyAdmin SQL Dump
-- version 3.5.1
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tiempo de generación: 03-02-2013 a las 02:45:10
-- Versión del servidor: 5.5.24-log
-- Versión de PHP: 5.4.3

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Base de datos: `connect2`
--

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `usuarios`
--

CREATE TABLE IF NOT EXISTS `usuarios` (
`id_usuario` int(11) NOT NULL AUTO_INCREMENT,
`nombre` varchar(50) NOT NULL,
`apellidoPaterno` varchar(50) DEFAULT NULL,
`apellidoMaterno` varchar(50) DEFAULT NULL,
`email` varchar(100) DEFAULT NULL,
`username` varchar(50) DEFAULT NULL,
`password` varchar(250) DEFAULT NULL,
`dt_registro` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id_usuario`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;

--
-- Volcado de datos para la tabla `usuarios`
--

INSERT INTO `usuarios` (`id_usuario`, `nombre`, `apellidoPaterno`, `apellidoMaterno`, `email`, `username`, `password`, `dt_registro`) VALUES
(1, 'jose eduardo', 'ruiz', 'velazquez', '[email protected]', 'z3r000', '827ccb0eea8a706c4c34a16891f84e7b', '2013-01-29 03:29:50'),
(2, 'mauricio', 'mancera', 'ramirez', '[email protected]', 'mauri', '481cb53f8907b365f305681478b7a63b', '2013-01-31 07:12:12'),
(3, 'jose eduardo', 'ruiz', 'velazquez', '[email protected]', 'z3r0000', '827ccb0eea8a706c4c34a16891f84e7b', '2013-01-31 07:42:03'),
(4, 'jose eduardo', 'ruiz', 'velazquez', '[email protected]', 'z3r000d', '827ccb0eea8a706c4c34a16891f84e7b', '2013-01-31 07:45:59'),
(5, 'caca', 'caca', 'caca', '[email protected]', 'cacac', '827ccb0eea8a706c4c34a16891f84e7b', '2013-01-31 08:55:04'),
(6, 'jose', 'rodriguez', 'flores', '[email protected]', 'manuel', '827ccb0eea8a706c4c34a16891f84e7b', '2013-01-31 23:11:49'),
(7, 'jose', 'eduardo', 'ruiz', '[email protected]', 'masterrrr', '827ccb0eea8a706c4c34a16891f84e7b', '2013-02-01 11:51:10'),
(8, 'jose', 'eduardo', 'ruiz', '[email protected]', 'joooo', '827ccb0eea8a706c4c34a16891f84e7b', '2013-02-02 03:33:46'),
(9, 'jose', 'eduardo', 'ruiz', '[email protected]', 'z3r00000', '827ccb0eea8a706c4c34a16891f84e7b', '2013-02-02 06:43:09');

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;


esta es mi base de datos si funciona lo que me dijiste pero el problema es que no lo guarda sigue haciendo lo mismo cuando guardo un usuario en la base de datos como le hago para que se quede guardada
  #7 (permalink)  
Antiguo 02/02/2013, 21:33
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: como cambiar la hora en mi base de datos de mysql

Como te mencione, si fuese por base de datos creo que seria asi por ejemplo:

Código SQL:
Ver original
  1. INSERT INTO `usuarios` (`id_usuario`, `nombre`, `apellidoPaterno`, `apellidoMaterno`, `email`, `username`, `password`, `dt_registro`) VALUES
  2. (1, 'jose eduardo', 'ruiz', 'velazquez', '[email protected]', 'z3r000', '827ccb0eea8a706c4c34a16891f84e7b', '2013-01-29 03:29:50'  + INTERVAL 6 HOUR);

Pero como estamos en PHP, y como no muestras el codigo de PHP, seria mas o menos:

Código PHP:
Ver original
  1. $f = new DateTime('2013-01-29 03:29:50');
  2. $f->add(new DateInterval('P6H'));
  3. $fecha = $f->format('Y-m-d H:i:s');
  4.  
  5. $sql ="INSERT INTO `usuarios` (`id_usuario`, ......, `dt_registro`) VALUES (1, .... , $fecha)";
  6. ....
  7. ....


Saludos,
__________________
.: Gildus :.

Etiquetas: mysql, registro
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 02:18.