Thread View: es.comp.os.linux.programacion
5 messages
5 total messages
Started by Alberto Luaces
Thu, 13 Jul 2006 12:41
Extraño problema con strtotime y PHP 5.1.2
Author: Alberto Luaces
Date: Thu, 13 Jul 2006 12:41
Date: Thu, 13 Jul 2006 12:41
18 lines
1658 bytes
1658 bytes
Hola,
resulta que fechas como "25/7/2007" hacen que strtotime no devuelva nada (ni
siquiera -1 para indicar fallo, como pone en la documentación) y sin
embargo otras fechas funcionan:
strtotime("25/7/2007") => (nada)
strtotime("12/3/2006") => 1165100400
¿Qué puede estar pasando?
Lo que estoy intentando es pasar una fecha en el formato "dd/mm/aaaa" al
formato "aaaa-mm-dd" que acepta MySQL. Para ello empleo strtotime
conjuntamente con date:
date("Y/m/d", strtotime("12/03/2006"));
Gracias por la ayuda.
Re: Extraño problema con strtotime y PHP 5.1.2
Author: Alo
Date: Thu, 13 Jul 2006 13:30
Date: Thu, 13 Jul 2006 13:30
25 lines
1573 bytes
1573 bytes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Alberto Luaces wrote:
> strtotime("25/7/2007") => (nada)
> strtotime("12/3/2006") => 1165100400
No tengo ni idea de PHP, pero el formato origen de strtotime no ser
Mes/Dia/Año, de ahi que con mes "25" de error y con mes "12" funcione OK?
- --
Un saludo
Alo [alo(@)uk2.net]
PGP en http://pgp.eteo.mondragon.edu [Get "0xF6695A61 "]
Usuario registrado Linux #276144 [http://counter.li.org]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFEtkrsvzPPcPZpWmERArQzAJ48smUmtmlT1feVJSJ4cYPrjeWo8gCgscNN
dLPyXrA4fSjnMoqN6kmAxo8=
=c1S6
-----END PGP SIGNATURE-----
Re: Extra�o problema con strtotime y PHP 5.1.2
Author: Oscar Garcia
Date: Thu, 13 Jul 2006 18:35
Date: Thu, 13 Jul 2006 18:35
42 lines
2397 bytes
2397 bytes
On Thu, 13 Jul 2006 14:41:27 +0200, Alberto Luaces
<iinalf00_niet_spam@ucv.udc.es> wrote:
>resulta que fechas como "25/7/2007" hacen que strtotime no devuelva nada (ni
>siquiera -1 para indicar fallo, como pone en la documentaci�n) y sin
>embargo otras fechas funcionan:
>strtotime("25/7/2007") => (nada)
>strtotime("12/3/2006") => 1165100400
>�Qu� puede estar pasando?
Muy sencillo, el formato de fecha ISO en el que se basa casi todo es
aaaa/mm/dd debido (entre otras cosas) a que ordenar alfabeticamente
las fechas representadas as� coincide con el orden cronol�gico.
Usa el formato correcto.
>Lo que estoy intentando es pasar una fecha en el formato "dd/mm/aaaa" al
>formato "aaaa-mm-dd" que acepta MySQL. Para ello empleo strtotime
>conjuntamente con date:
>date("Y/m/d", strtotime("12/03/2006"));
Hay muchas formas de hacerlo, pero esa no es una de las formas
correctas.
Por ejemplo:
// Fecha en formato dd/mm/aaaa:
$fecha = '04/08/2006';
// Separamos cada uno de los elementos:
list ($dia, $mes, $anyo) = split ('/', $fecha);
// Lo juntamos a nuestro antojo (en este caso a ISO):
$salida = "$anyo-$mes-$dia";
Te recuerdo que el formato ISO es aaaa-mm-dd y no aaaa/mm/dd.
>Gracias por la ayuda.
De nada.
--
�scar Javier Garc�a Baudet
LinaresDigital
http://redstar.linaresdigital.com/
Re: Extraño problema con strtotime y PHP 5.1.2
Author: Alvaro G. Vicario
Date: Fri, 14 Jul 2006 17:54
Date: Fri, 14 Jul 2006 17:54
29 lines
2234 bytes
2234 bytes
*** Alberto Luaces escribi�/wrote (Thu, 13 Jul 2006 14:41:27 +0200):
> resulta que fechas como "25/7/2007" hacen que strtotime no devuelva nada (ni
> siquiera -1 para indicar fallo, como pone en la documentaci�n) y sin
> embargo otras fechas funcionan:
Seg�n la documentaci�n, en caso de fallo deber�a devolverte FALSE. Si lo
has comprobado escribi�ndolo con un echo no te habr� salido nada porque eso
es lo que ocurre al escribir FALSE.
> strtotime("25/7/2007") => (nada)
> strtotime("12/3/2006") => 1165100400
Como ya te han se�alado, estas cadenas nunca van a dar la fecha que t�
esperas:
echo date('r', 1165100400);
... imprime:
Sun, 3 Dec 2006 00:00:00 +0100
--
-+ http://alvaro.es - �lvaro G. Vicario - Burgos, Spain
++ Mi sitio sobre programaci�n web: http://bits.demogracia.com
+- Mi web de humor con rayos UVA: http://www.demogracia.com
--
Re: Extraño problema con strtotime y PHP 5.1.2
Author: Alberto Luaces
Date: Mon, 17 Jul 2006 13:08
Date: Mon, 17 Jul 2006 13:08
28 lines
2105 bytes
2105 bytes
Alberto Luaces wrote:
> Hola,
>
> resulta que fechas como "25/7/2007" hacen que strtotime no devuelva nada
> (ni siquiera -1 para indicar fallo, como pone en la documentación) y sin
> embargo otras fechas funcionan:
>
> strtotime("25/7/2007") => (nada)
> strtotime("12/3/2006") => 1165100400
>
> ¿Qué puede estar pasando?
>
> Lo que estoy intentando es pasar una fecha en el formato "dd/mm/aaaa" al
> formato "aaaa-mm-dd" que acepta MySQL. Para ello empleo strtotime
> conjuntamente con date:
>
> date("Y/m/d", strtotime("12/03/2006"));
>
> Gracias por la ayuda.
Muchas gracias a los tres por las respuestas. Lo de darle un formato
incorrecto vino provocado porque en la página de php.net no está
especificado claramente qué tipo de fechas es capaz de manejar y porque en
un principio, algunas fechas me funcionaban bien, como es el caso de la del
12 de Marzo. Avisado quedo entonces ;)
Un saludo,
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads