Hoy que es viernes, vamos a entrar en un tema no técnico, pero muy enrevesado: la dificultad de gestionar calendarios. Ya lo hemos tratado de una forma técnica, vista desde Oracle. No es eso lo que quiero comentar, ni como sumar o restar fechas, ni nada similar … simplemente pretendo poner de manifiesto los problemas que tenemos los informáticos con los dÃas, meses, años, …
¿Qué es un mes? La respuesta es obvia. Un mes es un mes: enero, febrero, marzo, … pero la Real Academia de la Lengua admite (entre otras) dos acepciones que, como son presupuestas según el contexto, hacen que sea absolutamente imposible calcular la duración de un mes.
¿Que de qué estoy hablando? Revisemos las dos acepciones de la Academia:
1. Un mes es cada una de las doce partes en que se divide el año
2. Un més es un conjunto de dÃas consecutivos desde uno señalado hasta otro de igual fecha en el mes siguiente. El ejemplo de la RAE es: Se le han dado dos meses de término, contados desde el 15 de mayo
Bien. Ahora es cuando viene el problema ¿Cuántos dÃas tiene un més? No lo sabemos. Un mes puede tener entre 28 y 31 dÃas, según como lo calculemos. Imaginemos dos casos extremos: una persona que ha trabajado un febrero de un año no bisiesto y otra que ha trabajado cuatro semanas no consecutivas. Un algoritmo puede considerar que los 28 dÃas de febrero suponen un mes (al fin y al cabo, esa es la acepción de la RAE) y que la suma de las cuatro semanas no. Está claro que es una injusticia, ya que estamos hablando del mismo número de dÃas. De igual forma, si consideramos que cuatro semanas son un mes, ¿Qué hacemos con los meses de 31 dÃas?
Creo que es injusto y una pérdida de tiempo calcular el tiempo en meses. Decir que una persona ha trabajado en su vida quince años, tres meses y dos dÃas lleva implÃcito un montón de suposiciones que, en caso de ser alteradas, modificarÃan dicha cifra. Contar dos meses puede suponer:
1. 56 dÃas si contamos dos febreros u ocho semanas
2. 57 dÃas si contamos dos febreros, uno bisiesto y otro no
3. 58 dÃas si contamos un mes de 30 dÃas y un febrero, o dos febreros bisiestos
y asà hasta:
7. 62 dÃas si contamos dos meses de 31 dÃas
Es decir, seis dÃas con sólo dos meses. Imaginad si habláramos de años. Sé que este es un post muy raro … e imposible de entender por alguien que no se haya encontrado con el problema. Ese fue mi caso, cuando nos encontramos con la necesidad de sumar periodos de tiempo y agruparlos en años y meses. Espero vuestra indulgencia por el tostón.
Ah, por cierto ¿Cuál es mi solución? Antes de adoptar una determinación tan bizarra como la de cambiar el calendario, propuse la dar los resultados en dÃas.








Suscribirse a nuestro Twitter
Carlos (02-Aug-2010)
A través de la página en FaceBook de BalearesON, DarÃo ha enlazado una aplicación de canal del tiempo para Surface. Muy interesante.