elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  imprime mal fecha (solucionado)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: imprime mal fecha (solucionado)  (Leído 7,508 veces)
basickdagger


Desconectado Desconectado

Mensajes: 650


System.out.println("this is weird as fuck");


Ver Perfil
imprime mal fecha (solucionado)
« 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'];
echo $fecha;  /***me imprime 14/8/2013  ***/

$fecha2=date("Y-m-d",strtotime($fecha));

echo $fecha2;/**** me imprime 1969-12-31****/


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??





« Última modificación: 20 Agosto 2013, 19:54 pm por basickdagger » En línea

basickdagger


Desconectado Desconectado

Mensajes: 650


System.out.println("this is weird as fuck");


Ver Perfil
Re: imprime mal fecha
« Respuesta #1 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?


En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: imprime mal fecha
« Respuesta #2 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
  1. date_default_timezone_set('America/Mexico_City');
  2.  

strtotime("2013/8/14") != strtotime("14/8/2013")
« Última modificación: 20 Agosto 2013, 01:46 am por Darhius » En línea

abc
basickdagger


Desconectado Desconectado

Mensajes: 650


System.out.println("this is weird as fuck");


Ver Perfil
Re: imprime mal fecha
« Respuesta #3 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
  1. date_default_timezone_set('America/Mexico_City');
  2.  

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...
En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: imprime mal fecha
« Respuesta #4 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
  1. <?php
  2. date_default_timezone_set('America/Mexico_City');
  3. echo $date="14/8/2013";
  4.  
  5. list($day, $mouth, $year) = explode('/', $date);
  6. $aux_date=$year."/".$mouth."/".$day;
  7.  
  8. $new_date=date("Y-m-d",strtotime($aux_date));
  9.  
  10. echo "<br>".$new_date;
  11. ?>
  12.  
« Última modificación: 20 Agosto 2013, 18:46 pm por Darhius » En línea

abc
basickdagger


Desconectado Desconectado

Mensajes: 650


System.out.println("this is weird as fuck");


Ver Perfil
Re: imprime mal fecha
« Respuesta #5 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
  1. <?php
  2. date_default_timezone_set('America/Mexico_City');
  3. echo $date="14/8/2013";
  4.  
  5. list($day, $mouth, $year) = explode('/', $date);
  6. $aux_date=$year."/".$mouth."/".$day;
  7.  
  8. $new_date=date("Y-m-d",strtotime($aux_date));
  9.  
  10. echo "<br>".$new_date;
  11. ?>
  12.  



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
En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: imprime mal fecha
« Respuesta #6 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

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.
En línea

abc
basickdagger


Desconectado Desconectado

Mensajes: 650


System.out.println("this is weird as fuck");


Ver Perfil
Re: imprime mal fecha
« Respuesta #7 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
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Decodificar fecha en dateformat de excel [Solucionado]
PHP
WHK 2 10,721 Último mensaje 28 Abril 2009, 04:26 am
por WHK
cojer fecha [Solucionado]
Scripting
lumpymix 5 3,885 Último mensaje 14 Abril 2010, 00:51 am
por lumpymix
[SOLUCIONADO]sumar nuemro a una fecha????
Java
josco 2 5,404 Último mensaje 28 Abril 2010, 00:23 am
por josco
[Solucionado] funcion de clase no imprime datos de la db
PHP
gAb1 2 3,187 Último mensaje 26 Marzo 2016, 18:08 pm
por gAb1
Imprime texto de la nada. Tuberias (Solucionado)
Programación General
Usuario887 0 2,163 Último mensaje 13 Noviembre 2021, 18:08 pm
por Usuario887
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines