Foros del Web » Programando para Internet » PHP »

obtener dia siguiente a una fecha

Estas en el tema de obtener dia siguiente a una fecha en el foro de PHP en Foros del Web. Hola, alguien me podria indicar un script o funcion que dada una fecha obtenga el dia siguiente?, por ejemplo dado el 31/12/2004 devuelva 1/1/2005, y ...
  #1 (permalink)  
Antiguo 02/06/2005, 15:29
Avatar de puchitol  
Fecha de Ingreso: diciembre-2003
Ubicación: ELCHE
Mensajes: 322
Antigüedad: 14 años
Puntos: 0
obtener dia siguiente a una fecha

Hola,

alguien me podria indicar un script o funcion que dada una fecha obtenga el dia siguiente?, por ejemplo dado el 31/12/2004 devuelva 1/1/2005, y a ser posible,que controle los años bisiestos ...

un saludo
__________________
If you think fuck is funny, fuck yourself and save your money,
espero que entendais la moraleja... je, je, je
  #2 (permalink)  
Antiguo 02/06/2005, 16:44
Avatar de Pazosele  
Fecha de Ingreso: marzo-2005
Ubicación: BCN - España
Mensajes: 200
Antigüedad: 12 años, 9 meses
Puntos: 0
the code

Aqui tienes el codigo:
Código PHP:
<?

function add_zero($a){
   
$b $a;
   if(
strlen($a) == 1){
       
$b "0".$a;    
   }    
   return 
$b;
}

function 
day_th($gmt$no=30){
   
// default $no = 30 later
           
// get GMT datetime as standard for 'now()'

// $gmt = gmstrftime("%Y-%m-%d %H:%M:%S");

$d explode(" ",$gmt);
$date $d[0];
$time $d[1];

$date_x explode("-",$date);
$year $date_x[0];
$month $date_x[1];
$day $date_x[2];

$time_x explode(":",$time);
$hour $time_x[0];
$minute $time_x[1];
$second $time_x[2];

// create UNIX TIMESTAMP of the GMT above
$t mktime($hour$minute$second$month$day$year);

// 1 h = 3600 sec
// 1 d = 24 h
// 1 d = 86400 sec
// 30 d = 2592000 sec

$unix_stamp 86400 $no;

$res getdate($t $unix_stamp); 

$ris array_values($res);

list(
$seconds,$minutes,$hours,$mday,$wday,$mon,$year,
$yday,$weekday,$month,$unix) = $ris;

$mon add_zero($mon);
$mday add_zero($mday);
$seconds add_zero($seconds);
$minutes add_zero($minutes);
$hours add_zero($hours);

$day_th $year."-".$mon."-".$mday." ".$hours.":".$minutes.":".$seconds;

return 
$day_th;
}

// $gmt = gmstrftime("%Y-%m-%d %H:%M:%S");
$gmt "2005-02-28 00:00:01";

$nextdate day_th($gmt$no=1);

echo 
$gmt."<br>".$nextdate."<br>";
?>
Espero que te sirva
Un Saludo!
__________________
Share our Knowledge!
Adura Vita!

Última edición por Pazosele; 02/06/2005 a las 16:50
  #3 (permalink)  
Antiguo 02/06/2005, 21:28
 
Fecha de Ingreso: agosto-2004
Mensajes: 95
Antigüedad: 13 años, 3 meses
Puntos: 2
Código PHP:
function operacion_fecha ($fecha,$dias) { 
list (
$dia,$mes,$ano)=explode("-",$fecha); 
if (!
checkdate($mes,$dia,$ano)){return false;} 
$dia=$dia+$dias
$fecha=date"d-m-Y"mktime(0,0,0,$mes,$dia,$ano) ); 
return 
$fecha


//restar dos días 
echo operacion_fecha('01-08-2004',-2); 

//Sumar 1 día 
echo operacion_fecha(31-12-2004,1); 
//Devuelve 01/01/2005 

y controla los bisiestos
__________________
Marco de Arica (Chile)
  #4 (permalink)  
Antiguo 02/06/2005, 21:44
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Prueba (lo digo de memoria):
Código PHP:
echo date("d-m-Y"strtotime("+1 day")); 
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 02/06/2005, 22:09
 
Fecha de Ingreso: agosto-2004
Mensajes: 95
Antigüedad: 13 años, 3 meses
Puntos: 2
Cita:
Iniciado por jam1138
Prueba (lo digo de memoria):
Código PHP:
echo date("d-m-Y"strtotime("+1 day")); 
lo acabo de probar y funciona de maravillas ...

__________________
Marco de Arica (Chile)
  #6 (permalink)  
Antiguo 03/06/2005, 18:20
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Perfecto.. verán que es mucho mejor que todo el código anterior ... y hay más opciones y modos de usar strtotime()... ¿por qué no dejé la documentación?? ... como sea, ya todo mundo debería saberlo...

www.php.net -> parte superior derecha -> ingresar strtotime -> click en buscar (function list) ...
directamente: www.php.net/strtotime

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #7 (permalink)  
Antiguo 06/06/2005, 03:23
Avatar de puchitol  
Fecha de Ingreso: diciembre-2003
Ubicación: ELCHE
Mensajes: 322
Antigüedad: 14 años
Puntos: 0
Muchas gracias a todos,

pero una pregunta mas,

la funcion strtotime("+1 day") sobre que fecha realiza la suma de 1 dia?, sobre la actual o se le puede especificar otra?

un saludo
__________________
If you think fuck is funny, fuck yourself and save your money,
espero que entendais la moraleja... je, je, je
  #8 (permalink)  
Antiguo 06/06/2005, 03:31
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 15 años, 9 meses
Puntos: 771
Hola puchitol

Puedes poner otras fechas. En el enlace al manual de PHP que te dejó jam1138 tienes varios ejemplos.

Saludos,
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 20:55.