Título: imprime mal fecha (solucionado) Publicado por: basickdagger en 20 Agosto 2013, 00:46 am bueno tengo una duda y es q hasta apenas me di cuenta de q al imprimir un campo de fecha este me imprime una fecha de 1969-12-31...
q estoy haciendo mal?? Código: $fecha=$_POST['fecha']; utilizo jquery calendar.... lo raro es q aveces si me coloca bn la fecha y a veces no...aun no encuentro cuando es q me imprime bien y cuando no... alguna idea?? Título: Re: imprime mal fecha Publicado por: basickdagger en 20 Agosto 2013, 01:00 am bueno picandole un poco eh notado q si coloco una fecha q este entre el dia 1 y el dia 12..la fecha se coloca bien...pero despues del dia 12 osea dia 13 en adelante se va todo por el caño... ya probe dia mes y año asi como año mes dia pero me sucede lo mismo...alguna idea?
Título: Re: imprime mal fecha Publicado por: 1mpuls0 en 20 Agosto 2013, 01:36 am .-. y qué se supone que esperas que muestre?, o que quieres hacer?
lee bien que hace la función strtotime y que formatos acepta. Además agrega la zona horaria correspondiente, bueno depende de lo que vayas a realizar. Código
strtotime("2013/8/14") != strtotime("14/8/2013") Título: Re: imprime mal fecha Publicado por: basickdagger en 20 Agosto 2013, 18:29 pm .-. y qué se supone que esperas que muestre?, o que quieres hacer? lee bien que hace la función strtotime y que formatos acepta. Además agrega la zona horaria correspondiente, bueno depende de lo que vayas a realizar. Código
strtotime("2013/8/14") != strtotime("14/8/2013") intento meter la fecha en una BD para luego mostrarla... si no lo convierto, en la bd me lo inserta así 0000-00-00, entonces al cambiar la fecha noto q inserta la fecha correcta solo si el día es del 1 al 12.... supongo q esta tomando el día como mes y al no existir el mes 13 en adelante me pone esa fecha por default(supongo), el detalle aqui es q no me sale.. probe tu código default time zone y me sale lo mismo... Título: Re: imprime mal fecha Publicado por: 1mpuls0 en 20 Agosto 2013, 18:42 pm intento meter la fecha en una BD para luego mostrarla... si no lo convierto, en la bd me lo inserta así 0000-00-00, entonces al cambiar la fecha noto q inserta la fecha correcta solo si el día es del 1 al 12.... supongo q esta tomando el día como mes y al no existir el mes 13 en adelante me pone esa fecha por default(supongo), el detalle aqui es q no me sale.. probe tu código default time zone y me sale lo mismo... En realidad el problema no está con la zona horaria, solo era un consejo para futuras aplicaciones. El problema es el formato. Vamos por paso. Recibes una variable por post y la guardas $fecha=$_POST['fecha']; Se muestra así: 14/8/2013 Si separamos esta linea: $fecha2=date("Y-m-d",strtotime($fecha)); A $str = strtotime($fecha); $fecha2=date("Y-m-d", $str); Al imprimir $str verás que no te muestra nada, esto es porque strtotime no acepta ese formato, sino acepta el formato aaaa-mm-dd en tu caso tendrías que pasar el valor 2013/8/14 (al revés de como lo tienes en la variable $fecha) Código
Título: Re: imprime mal fecha Publicado por: basickdagger en 20 Agosto 2013, 19:12 pm En realidad el problema no está con la zona horaria, solo era un consejo para futuras aplicaciones. El problema es el formato. Vamos por paso. Recibes una variable por post y la guardas $fecha=$_POST['fecha']; Se muestra así: 14/8/2013 Si separamos esta linea: $fecha2=date("Y-m-d",strtotime($fecha)); A $str = strtotime($fecha); $fecha2=date("Y-m-d", $str); Al imprimir $str verás que no te muestra nada, esto es porque strtotime no acepta ese formato, sino acepta el formato aaaa-mm-dd en tu caso tendrías que pasar el valor 2013/8/14 (al revés de como lo tienes en la variable $fecha) Código
Mucha gracias me sirvió excelente... aunque me quede con la duda y aún así quiero preguntarte aunque parezca terco xD.... por que al utilizar una fecha por ejemplo... 01/8/2013 hasta 12/8/2013 si me funcionaba el strtotime.... y note tamboen q el día me lo tomaba como mes al colocarle 10/18/2013... y me lo imprimía así al usar strtotime 18/10/2013... es algo raro... al menos aún no puedo comprenderlo muy bien.. aunque si entiendo el ejemplo que me das(que si me sirvio) donde separa la fecha y la colocas en el orden a Y-m-d... bueno.. saludos y gracias Título: Re: imprime mal fecha Publicado por: 1mpuls0 en 20 Agosto 2013, 19:40 pm Bien...
Algunos formatos reconocidos son: mm/dd/yyyy mm/dd/yy yyyy/mm/dd dd-mm-yyyy yy-mm-dd yyyy-mm-dd Más Información -> http://www.php.net/manual/es/datetime.formats.date.php (http://www.php.net/manual/es/datetime.formats.date.php) Por ejemplo si la fecha es 3 de Febrero de 2009 (que se nos mostraría como 03/02/2009), al pasarlo por strtotime nos devolverá el timestamp del 2 de Marzo de 2009, es decir, pensará que le estamos pasando una fecha en formato mm/dd/yyyy. Para solucionar esto, podemos cambiar las barras por guiones antes de aplicarle la función strtotime. Por ejemplo: <?php $fecha_esp = str_replace("/", "-", $fecha_ing); $timestamp = strtotime($fecha_esp); ?> En este caso, al pasar a strtotime la fecha en formato dd-mm-yyyy devolverá el timestamp correcto. Saludos. Título: Re: imprime mal fecha Publicado por: basickdagger en 20 Agosto 2013, 19:54 pm Muchas gracias más claro que el agua....abra que hacer la prueba... gracias por tomarte el tiempo de responder.. saludos
|