Foros del Web » Programando para Internet » PHP »

Como saber el mes de una fecha en strtotime

Estas en el tema de Como saber el mes de una fecha en strtotime en el foro de PHP en Foros del Web. Bueno, basicamente es eso: a la hora de incluir novedades en mi sitio web, la forma mas conveniente que encontre para luego mostrar las que ...
  #1 (permalink)  
Antiguo 08/07/2009, 11:08
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 8 meses
Puntos: 1
Como saber el mes de una fecha en strtotime

Bueno, basicamente es eso: a la hora de incluir novedades en mi sitio web, la forma mas conveniente que encontre para luego mostrar las que tengan solo 1 mes de antiguedad, fue utilizando strtotime (para luego incluirlas en una BD mySql, claro esta).

Ahora, me encuentro ante la gran encrucijada de cómo saber de qué mes es cada novedad. Mi idea es la siguiente: con un select, elegir el mes y que, automaticamente, el otro select cargue las novedades de dicho mes. Mi problema pasa, basicamente, por no saber cómo comparar en mi consulta sql, el mes elegido (digamos, Agosto, que tendria el valor 8) con el de una fecha de mi base de datos (digamos, 1246989639).

Alguna idea de cómo puedo hacer esto?


Desde ya, muchas gracias por su ayuda, su ayuda, un saludo!

Pablo.
  #2 (permalink)  
Antiguo 08/07/2009, 11:17
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 8 meses
Puntos: 55
Respuesta: Como saber el mes de una fecha en strtotime

bueno gran problema tienes, siempre para fechas es preferible guardar un datetime() en la bbdd, pero bueno si tienes time no hay problema

con mktime() nos las arreglaremos

suponte q 1246989639 es el 12 de agosto, pero nosotros queremos todos los times de agosto

$primerdia=mktime(0,0,0,0,8,2009);
$ultimodia=mktime(23,59,59,31,8,2009);

y para buscar las novedades seria algo asi

mysql_query("select * from novedades where fecha>='$primerdia' and fecha<='$ultimodia'");

espero te sirva la ayuda
__________________
Degiovanni Emilio
developtus.com
  #3 (permalink)  
Antiguo 08/07/2009, 11:23
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Como saber el mes de una fecha en strtotime

interesante solucion! la probare y te cuento que tal anduvo...

la verdad, no se pq lo hice asi, recuerdo haber buscado bastante sobre que tipo me convenia en mi caso, y en la documentacion de php encontre esta funcion. Seguramente no busque lo suficiente, je.

Bueno, lo pruebo y te comento que tal anduvo. Gracias de antemano! ;)
  #4 (permalink)  
Antiguo 08/07/2009, 11:52
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Como saber el mes de una fecha en strtotime

emiliodeg!

Anduve probando lo que me recomendaste, y la verdad que ando con problemas. No se si sera por la forma en que funciona mktime, o strtotime, o algunas de las funciones, o por como yo lo estoy implementando, pero bueno, la cosa es que no logro dar con una solucion. Te comento qué es lo que hice.

Imitando tu codigo, hice algo asi:

Código:
$mes = $_GET['valor'];
$primerdia=mktime(0,0,0,0,$mes,2009);
$ultimodia=mktime(23,59,59,31,$mes,2009);
La cosa es que, supongamos que eligo la opcion Marzo, cuyo mes es 3. Los valores para $primerdia y $ultimodia serán los siguiente (lo que me imprime por pantalla):

$primerdia = 1228269600
$ultimodia = 1309748399

Entoces, aca me encuentro ante un gran problema! Ya que, algo debe andar mal, puese si, por ejemplo, quiero imprimir la fecha de hoy, de esta forma (que es de la misma forma que lo ingreso en mi BD):

$hoy = strtotime('now');

su valor es el siguiente:

$hoy= 1247078864

Como te podrás dar cuenta, esto es algo muy malo! Ya que el valor del ultimo dia de marzo es mayor que el valor del dia de hoy y, por ende, al seleccionar el mes de marzo, me mostrará tambien las novedades de julio, junio, marzo, etc. Que, realmente, no es lo que pretendia.

Alguna idea de porque pueda estar andando mal eso??

Muchas gracias, un saludo!

Pablo

pd: por las dudas, SI, probe sacando el $mes y poniendo directamente el mes (en este caso, 3) yo mismo, y da los mismos valores.
  #5 (permalink)  
Antiguo 08/07/2009, 14:20
 
Fecha de Ingreso: noviembre-2004
Ubicación: Córdoba-Argentina
Mensajes: 15
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Como saber el mes de una fecha en strtotime

no se si entendi bien, pero si usas:
$strtotime = 1246989639; // algun strtotime guardado en la bd
$mes = date("m",$strtotime);

el mes que necesitas para comparar en el select....

espero sirva....

sallu2
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 18:14.