Foros del Web » Programando para Internet » PHP »

Date() y mktime()

Estas en el tema de Date() y mktime() en el foro de PHP en Foros del Web. holas gentes, tengo un problemita: miren esto: Código PHP: $anio = date ( 'Y' );         $diahoy = date ( 'd' ); $mes =  date ( ...
  #1 (permalink)  
Antiguo 27/12/2004, 08:17
Avatar de oktubre  
Fecha de Ingreso: agosto-2003
Ubicación: en mi casa
Mensajes: 371
Antigüedad: 14 años, 3 meses
Puntos: 4
Date() y mktime()

holas gentes, tengo un problemita:

miren esto:

Código PHP:
$anio=date('Y');        
$diahoy=date('d');
$mesdate('F');
$dia1mktime(0,0,0,$mes+8,$diahoy,$anio); 
yo hasta donde lo veo andaba bien, pero entiendan mi prblema:
cuando a diciembre le sumo 8 meses no logro que lo haga en el año. osea, me da como resultado la suma de los 8 meses y el problema es que no cambia de año.
existe alguna forma de calcular matematicamente los 8 meses en el famoso entero de unix y despues que me lo convierta en date('Y-n-d', $fecha_del_orto); _?

saludos y agradezco la ayudita


oktum
__________________
[email protected] <----------------<<<<
prefiero cerrar la boca y parecer un tonto que abrirla y confirmarlo.
  #2 (permalink)  
Antiguo 27/12/2004, 08:30
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

¿date('F')? ¿Sabes que te devuelve eso? Una cadena de texto. Usa date('m'), devuleve un numero al que si puedes sumar un numero.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 27/12/2004, 08:33
Avatar de oktubre  
Fecha de Ingreso: agosto-2003
Ubicación: en mi casa
Mensajes: 371
Antigüedad: 14 años, 3 meses
Puntos: 4
ok, si, lo habi visto, pero se entiende que no tengo idea de como sumar 8 meses y que me cambie de año si espertiente?

lo de la F lo puse y olvide cambiarlo, fue para ver el nombre del mes, so sorry
__________________
[email protected] <----------------<<<<
prefiero cerrar la boca y parecer un tonto que abrirla y confirmarlo.
  #4 (permalink)  
Antiguo 27/12/2004, 08:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Podrías usar strtotime() ..
http://www.php.net/manual/es/function.strtotime.php

Ahí veras como usar cosas como "+1 year" .. Pruebalo y nos comentas.

Un saludo,
  #5 (permalink)  
Antiguo 27/12/2004, 09:06
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 13 años, 1 mes
Puntos: 48
Código PHP:
<?php
$m
='09';
$d=12;
$y=2004;
$t=mktime(0,0,0,$m+6,$d,$y);
echo 
date("d-m-Y",$t);
?>
Este codigo me muestra 12-03-2005 que es lo esperado, sumando uno al año. ¿Te funciona a ti este simple codigo?

Saludos.
  #6 (permalink)  
Antiguo 27/12/2004, 09:07
Avatar de oktubre  
Fecha de Ingreso: agosto-2003
Ubicación: en mi casa
Mensajes: 371
Antigüedad: 14 años, 3 meses
Puntos: 4
ok, lo tengo

Cluster, genio...


ahi te muestro:

Código PHP:
$hoy_es date('d-n-Y');
$ocho_messtrtotime("+8 months") ;

$mas_date('d-n-Y'$ocho_mes);

echo 
$hoy_es.'<BR>';
echo 
$ocho_mes.'<BR>';
echo 
$mas_.'<BR>'
obiamente lo que voy a hacer con esas variables es pasarlas por un explode, asi obtener valores para un funcion que tengo que es la que me crea un campo select con las fechas actuales, y el otro select es el que muestra selecionada la fecha + ocho meses.

ahora mi pregunta es:

mi funcion
Código PHP:
function select_dia($campo_uno,$campo_dos,$campo_tres$dia,$mes,$anio
que esta dentro de un archivo funciones.php retrasa mucho la ejecución de mi script? osea, esta bien amontonar funciones en un archivo y llamarlas con un include() al principio de cada formulario?
__________________
[email protected] <----------------<<<<
prefiero cerrar la boca y parecer un tonto que abrirla y confirmarlo.
  #7 (permalink)  
Antiguo 27/12/2004, 09:15
Avatar de oktubre  
Fecha de Ingreso: agosto-2003
Ubicación: en mi casa
Mensajes: 371
Antigüedad: 14 años, 3 meses
Puntos: 4
Cita:
Iniciado por DarkJ
Código PHP:
<?php
$m
='09';
$d=12;
$y=2004;
$t=mktime(0,0,0,$m+6,$d,$y);
echo 
date("d-m-Y",$t);
?>
Este codigo me muestra 12-03-2005 que es lo esperado, sumando uno al año. ¿Te funciona a ti este simple codigo?

Saludos.
bueno, en realidad eso era lo que esperaba; ahora no se por que cuando yo lo ejecutaba no me sumaba en el año.

lo estoy revisando ahora porque tanto la solucion de cluster como la tuya me dan lugar a hacer varias cosas que no tenia pensada.

un comentario de principiante, el que programo el codigo fuente de mktime(), donde primero estan hora, minutos, segundos, mes, dia, año se fumo un caño del tamaño de un arbol, porque no encontre script en la web que no tenga problemas confuncdiendo el orden de las cosas.
Será que yo no veo la verdadera razón?


saludos, gracias a todos
__________________
[email protected] <----------------<<<<
prefiero cerrar la boca y parecer un tonto que abrirla y confirmarlo.
  #8 (permalink)  
Antiguo 27/12/2004, 09:18
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Cita:
un comentario de principiante, el que programo el codigo fuente de mktime(), donde primero estan hora, minutos, segundos, mes, dia, año se fumo un caño del tamaño de un arbol, porque no encontre script en la web que no tenga problemas confuncdiendo el orden de las cosas.
Será que yo no veo la verdadera razón?
mes-dia-año creo que es el formato anglosajon de fecha, asi que no fumo nada, solo que tienen las neuronas asi de raras.

saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #9 (permalink)  
Antiguo 06/01/2005, 08:19
Avatar de oktubre  
Fecha de Ingreso: agosto-2003
Ubicación: en mi casa
Mensajes: 371
Antigüedad: 14 años, 3 meses
Puntos: 4
info sobre mi post de mktime()

holas gentes, se me perdio mi post de mktime() que tan gentilmente habían respondido.

les vuelvo a consultar entonces:
Código PHP:
$anio=date('Y');        
$dia=date('d');
$mesdate('n');
$dia1mktime(0,0,0,$dia,$mes+8,$anio );
$dia2date('Y-d-n',$dia1);
$fechaexplode('-',$dia2);
echo 
"<BR> $dia2 <BR>";
echo 
" $fecha[1] esto es dia calculado <br>" ;
echo 
" $fecha[2] esto es el mes <br>";
echo 
" $fecha[0] esto es el año <br>";
$fechames date('n',$fecha[2]);
echo 
select_dia('dia','mes','anio',$dia,$mes,$anio);
echo 
"<BR>";
echo 
select_dia('dia','mes','anio',$fecha[1],$fechames[2],$fecha[0]);
echo 
"<BR>";
echo 
$fechames 
el problema esta que no me muestra date con el formato de mes 'n'; si es 09 me lo muestra asi y no como un 9.
en mi funcion select_dia() lo que hago es por medio de un array armar un campo select de html con la fecha prefijada

gracias
__________________
[email protected] <----------------<<<<
prefiero cerrar la boca y parecer un tonto que abrirla y confirmarlo.
  #10 (permalink)  
Antiguo 06/01/2005, 08:42
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 oktubre

Usar la función de busqueda del foro resulta muy útil:

http://www.forosdelweb.com/showthrea...ghlight=mktime

Saludos,
  #11 (permalink)  
Antiguo 06/01/2005, 09:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ya uní ambos temas .. también recuerda Oktubre que puedes usar la función de "ver mensajes inciados por ..." en tu perfil de usuario ..

Un saludo,
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 04:52.