tag:blogger.com,1999:blog-747385828312085082.post352308670355762586..comments2023-05-11T10:14:31.945+00:00Comments on Nomi's blog: Calcular los días entre dos fechas en Openoffice y ExcelMonzihttp://www.blogger.com/profile/06139587456586920684noreply@blogger.comBlogger8125tag:blogger.com,1999:blog-747385828312085082.post-43650042297408070862013-03-21T18:19:40.731-01:002013-03-21T18:19:40.731-01:00También funciona sin ningún cambio en OpenOffice.También funciona sin ningún cambio en OpenOffice.Hans Otto Kroegerhttps://www.blogger.com/profile/04234172715862136808noreply@blogger.comtag:blogger.com,1999:blog-747385828312085082.post-16229631294492167112010-07-28T12:55:58.767+00:002010-07-28T12:55:58.767+00:00Kai,
Tu programa en PHP es demasiado trabajo, no ...Kai,<br /><br />Tu programa en PHP es demasiado trabajo, no solo porque esta incompleto (le falta el HTML que muestra el formulario), sino también porque no aporta absolutamente nada a la función DIAS() del OpenOffice.org Calc.<br /><br />Estaba buscando una función (o serie de funciones: una para días, una para meses y una para años) que me diga el número de meses enteros transcurridos en realidad entre dos fechas particulares (por ejemplo, entre el 28-may-2009 y el 5-oct-2010 transcurrieron 1 año, 10 meses, y 9 días). Ninguna de estas funciones no me lo resuelve. Voy a tener que programarla.<br /><br />Y eso significa de vuelta al PHP... :-)<br /><br />Creo que terminaré usando el objeto DateInterval() de PHP 5.3.<br /><br />Saludos,Mr Vichttps://www.blogger.com/profile/14162312594723052907noreply@blogger.comtag:blogger.com,1999:blog-747385828312085082.post-62894153430357524732010-02-26T14:34:11.699-01:002010-02-26T14:34:11.699-01:00De nada, y no te preocupes, que en segundo vas a t...De nada, y no te preocupes, que en segundo vas a tener PHP y esto te parecerá muy sencillo.<br /><br />Por cierto, buen blog (mucho Linux, me gusta xD), al feed se va :DKainoreply@blogger.comtag:blogger.com,1999:blog-747385828312085082.post-52120344000882284712010-02-25T20:28:02.185-01:002010-02-25T20:28:02.185-01:00Gracias Kai jaja.
Mi vida sea cual sea el tiempo e...Gracias Kai jaja.<br />Mi vida sea cual sea el tiempo exacto que llevamos, han sido los mejores dias de mi vida y ¿sabes que? tengo pensando vivir muchiisiimooss dias mas contigo, 30-08-08-->oo TE AMOOOAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-747385828312085082.post-71776107244424398962010-02-25T18:05:59.856-01:002010-02-25T18:05:59.856-01:00Gracias chicos por aportar.
KAI, tu script funcion...Gracias chicos por aportar.<br />KAI, tu script funciona de maravilla :-)<br /><br />Sin embargo, hay solución más fácil, openoffice [viva el software libre] sí te lo calcula como debe, y da el mismo resultado que el script de KAI.<br /><br />Saludos y, otra vez, gracias :-)Monzihttps://www.blogger.com/profile/17357599590166963416noreply@blogger.comtag:blogger.com,1999:blog-747385828312085082.post-2256766336834117032010-02-25T17:33:37.139-01:002010-02-25T17:33:37.139-01:00El codigo en PHP obtiene el valor de las fechas en...El codigo en PHP obtiene el valor de las fechas enviadas por el metodo HTTP POST, separa la cadena de la fecha en subcadenas para separar dia, mes y año; despues obtiene el tiempo en segundos desde la fecha que toma el interprete de PHP como fecha de inicio hasta la fecha indicada (me acuerdo que la fecha de inicio era el 1 de enero de mil novecientos algo, pero no me acuerdo del año exacto), hace lo mismo con la segunda fecha, calcula la diferencia en segundos y pasa los segundos a dias realiza un valor absoluto por si el valor tiene signo negativo y lo redondea<br />por ultimo escribe el numero de dias.<br /><br />El codigo php para probarlo solo tienes que guardarlo con extension .php y colocarlo e un servidor HTTP que tenga instalado PHP. Necesitas tambien una pagina con un formulario pero en el metodo debes indicar POST y en la accion indicar el script PHP (el archivo con extension .php). El codigo PHP cuando lo guardes debes de indicar el comienzo del script y el final, pego como quedaria el escript finalmente:<br /><br /><br />... (la pagina) ...<br />< ?php<br />$fecha1=$_POST['fecha1'];<br />$fecha2=$_POST['fecha2'];<br />//Las fechas han de estar escritas en formato DD/MM/AAAA. Los separadores son irrelevantes.<br /><br />$dia1 = substr($fecha1, 0, 2);<br />$mes1 = substr($fecha1, 3, 2);<br />$anno1 = substr($fecha1, 6, 4);<br /><br />$dia2 = substr($fecha2, 0, 2);<br />$mes2 = substr($fecha2, 3, 2);<br />$anno2 = substr($fecha2, 6, 4);<br /><br />$timestamp1 = mktime(0,0,0,$mes1,$dia1,$anno1);<br />$timestamp2 = mktime(0,0,0,$mes2,$dia2,$anno2);<br /><br />$segundos_diferencia = $timestamp1 - $timestamp2;<br /><br />$dias_diferencia = $segundos_diferencia / (60 * 60 * 24);<br /><br />$dias_diferencia = abs($dias_diferencia);<br /><br />$dias_diferencia = floor($dias_diferencia);<br /><br />echo $dias_diferencia;<br />? ><br />... (continua la pagina) ...<br /><br />Con lo que el script de PHP escribe en el documento HTML el numero de dias<br /><br /><br /><br />En el codigo solo cambia los ... por la pagina y desde < ?php hasta ? > (sin el espacio entre ? y el < o >) es el script en php, se sube al servidor como cualquier documento HTML pero con extension .php para que el servidor lo pase antes por el interprete de PHP.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-747385828312085082.post-41573221658813348252010-02-25T17:03:51.776-01:002010-02-25T17:03:51.776-01:00Buf.... no entiendo nada KAI.
yo de php no se NADA...Buf.... no entiendo nada KAI.<br />yo de php no se NADA, nada de nada.<br />intento probar el código que me acabas de dar, intento colocar algunas fechas pero que va, nada. ni siquiera sé donde tengo que probarlo.<br /><br />supongo que hay que escribir todo entre la etiqueta body y que empieze esté entreMonzihttps://www.blogger.com/profile/17357599590166963416noreply@blogger.comtag:blogger.com,1999:blog-747385828312085082.post-45413342623258464062010-02-25T14:54:55.029-01:002010-02-25T14:54:55.029-01:00En realidad llevas 544 días con tu novia (que mira...En realidad llevas 544 días con tu novia (que mira que te lo tenga que decir yo...). Esa función no es exacta. Excel es un programa de contabilidad, y por tanto, da por sentado que todos los meses cuentan 30 días (de ahí que la función se llame dias360).<br /><br />Me he tomado la libertad de escribirte un sencillo codigo en PHP que hace como Dios manda este cálculo (con años bisiestos y todo). Haz tu el formulario HTML si lo quieres usar, que no es na.<br /><br />$fecha1=$_POST['fecha1'];<br />$fecha2=$_POST['fecha2'];<br />//Las fechas han de estar escritas en formato DD/MM/AAAA. Los separadores son irrelevantes.<br /><br />$dia1 = substr($fecha1, 0, 2);<br />$mes1 = substr($fecha1, 3, 2);<br />$anno1 = substr($fecha1, 6, 4);<br /><br />$dia2 = substr($fecha2, 0, 2);<br />$mes2 = substr($fecha2, 3, 2);<br />$anno2 = substr($fecha2, 6, 4);<br /><br />$timestamp1 = mktime(0,0,0,$mes1,$dia1,$anno1);<br />$timestamp2 = mktime(0,0,0,$mes2,$dia2,$anno2);<br /><br />$segundos_diferencia = $timestamp1 - $timestamp2;<br /><br />$dias_diferencia = $segundos_diferencia / (60 * 60 * 24);<br /><br />$dias_diferencia = abs($dias_diferencia);<br /><br />$dias_diferencia = floor($dias_diferencia);<br /><br />echo $dias_diferencia;Kainoreply@blogger.com