Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   PHP (http://www.forosdelweb.com/f18/)
-   -   Problema al crear una fecha para campo datetime (http://www.forosdelweb.com/f18/problema-crear-fecha-para-campo-datetime-585230/)

rivahuevino 11/05/2008 12:48

Problema al crear una fecha para campo datetime
 
Hola que tal, tengo un problema al guardar en un campo datetime y nose si estara bien que lo ponga aqui porque estoy trabajando con PHP y MySQL. Les explico:

Tengo que guardar la hora y fecha en un campo datetime, la hora y fecha se seleccionan por separado, tengo un codigo que me separa cada elemento (hora, minutos, segundos, dia, mes y año); para crear la fecha y hora juntos uso el siguiente codigo:

$date_time=date("Y-m-d H:i:s", mktime($hora,$min,$seg,$mes,$dia,$ano));

Este dato se guarda en la tabla, el problema es que si se selecciona una hora pasado meridiano "PM" (Ej. 13, 14, 15,...., 20, etc) se guarda como si fuera de la mañana (1, 2,3,.... ,8, etc) y no se como solucionarlo...

Ya he probado guardarlos por separado y alli no hay problema.

Desde ya les estoy agradecido por las respuestas...

eddwinpaz 11/05/2008 17:05

Re: Problema al crear una fecha para campo datetime
 
Código PHP:

 date('Y-m-d H:i:s',time()); 


pateketrueke 11/05/2008 23:44

Re: Problema al crear una fecha para campo datetime
 
recuerda el formato de date() ya que... H no es igual a h....
una entrega horas 0-24 y la otra 1-12

rivahuevino 12/05/2008 10:23

Re: Problema al crear una fecha para campo datetime
 
Cita:

Iniciado por eddwinpaz (Mensaje 2399716)
Código PHP:

 date('Y-m-d H:i:s',time()); 


Gracias eddwinpaz, pero yo no quiero guardar el tiempo actual, porque time() devuelve el tiempo transcurrido GMT si mas no me equivoco (en pocas palabras tiempo actual).


Cita:

Iniciado por pateketrueke (Mensaje 2399969)
recuerda el formato de date() ya que... H no es igual a h....
una entrega horas 0-24 y la otra 1-12

Gracias pateketrueke, claro que si. Yo quiero que se guarde en formato de 0-23, ojo en date() con "H" no hay 24.

Pero como les digo al guardar separados la hora y fecha, la hora se guarda con el formato 0-23, pero cuando lo junto lo guarda con el formato 01-12.

Sigo buscando la solucion, gracias de todas maneras....

pateketrueke 12/05/2008 11:19

Re: Problema al crear una fecha para campo datetime
 
lo siento.... 0-23 :D .... animo!!!

farra 12/05/2008 11:28

Re: Problema al crear una fecha para campo datetime
 
string date ( string formato [, int marca_de_tiempo] )

Ejemplo 1. Ejemplos de date()

Código PHP:

<?php
// definir la zona horaria predeterminada a usar. Disponible desde PHP 5.1
date_default_timezone_set('UTC');


// Imprime algo como: Monday
echo date("l");

// Imprime algo como: Monday 15th of August 2005 03:12:46 PM
echo date('l dS \of F Y h:i:s A');

// Imprime: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " date("l"mktime(000712000));

/* usar las constantes en el parametro formato */
// imprime algo como: Mon, 15 Aug 2005 15:12:46 UTC
echo date(DATE_RFC822);

// imprime algo como: 2000-07-01T00:00:00+0000
echo date(DATE_ATOMmktime(000712000));
?>


Ejemplo 2. Escapar caracteres en date()

Código PHP:

<?php
// imprime algo como: Wednesday the 15th
echo date("l \\t\h\e jS");
?>


Ejemplo 3. Ejemplo de date() y mktime()
Código PHP:

<?php
$manyana        
mktime(000date("m")  , date("d")+1date("Y"));
$ultimo_mes     mktime(000date("m")-1date("d"),   date("Y"));
$siguiente_anyo mktime(000date("m"),   date("d"),   date("Y")+1);
?>


Ejemplo 4. Formato de date()
Código PHP:

<?php
// Asumiendo que hoy es: March 10th, 2001, 5:16:18 pm

$hoy date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$hoy date("m.d.y");                         // 03.10.01
$hoy date("j, n, Y");                       // 10, 3, 2001
$hoy date("Ymd");                           // 20010310
$hoy date('h-i-s, j-m-y, it is w Day z ');  // 05-16-17, 10-03-01, 1631 1618 6 Fripm01
$hoy date('\i\t \i\s \t\h\e jS \d\a\y.');   // It is the 10th day.
$hoy date("D M j G:i:s T Y");               // Sat Mar 10 15:16:08 MST 2001
$hoy date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:17 m is month
$hoy date("H:i:s");                         // 17:16:17
?>


eddwinpaz 12/05/2008 11:59

Re: Problema al crear una fecha para campo datetime
 
si deseas almacenar los tiempos en segundos y usas MySQL selecciona timestamp eso te devuelve todo en segundos lo cual puedes manejar a tu vendrio.... saludos..

rivahuevino 12/05/2008 18:52

Re: Problema al crear una fecha para campo datetime
 
Gracias a todos, pero no soluciono el problema que tengo. Ya se como usar la funcion date(), a mi parecer es el mktime, nose.....
Voy a empezar a ver otra forma de solucionar este problemita.
Si alguien sabe como hacerlo, espero que me ayude.
Gracias...

rivahuevino 13/05/2008 08:42

Re: Problema al crear una fecha para campo datetime
 
Hola ya solucione mi problema, casi una semana probando y hasta molestandolos, y lo solucione en 5 minutos....

Como les contaba, tenia que armar mi fecha y hora para un campo datetime con:

$date_time=date("Y-m-d H:i:s", mktime($hora,$min,$seg,$mes,$dia,$ano));

El problema era que el dato $min, lo recogia con todo y simbolo am/pm y por eso no me guardaba en el campo datetime, saque el simbolo usando substr y listoooo

Ahora si podre teminar este trabajito... :si:

Gracias a todos y disculpen las molestias.... :arriba:

Saludos


La zona horaria es GMT -6. Ahora son las 07:49.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.