Calendario Perpetuo: Práctica de Programación

Guía para generar un calendario perpetuo en texto para un año: cabeceras mensuales, alineación de días, manejo de bisiestos y formato monoespaciado; incluye ejemplos en SPL.

25 ago 2025 • 4 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

Este artículo explica cómo generar un calendario perpetuo para un año dado y cómo representarlo como cadenas de texto formateadas al estilo de un calendario común, con cada mes mostrado por separado e incluyendo la fecha y el día de la semana.

Idea general del algoritmo: recorrer los doce meses del año. Para cada mes calcular la cabecera del mes y la cabecera de los días de la semana y añadirlas al calendario acumulado. A continuación recorrer los días del mes concatenando las fechas por semanas, reservando un ancho fijo por cada día y separando columnas con varios espacios para mantener la alineación. Tras completar cada semana, añadir esa línea al calendario perpetuo y continuar con la siguiente.

Detalles prácticos: definir una variable para el año objetivo y otra que almacene el resultado como una lista o arreglo de cadenas. Calcular el día de la semana del primero de enero del año objeto con una fórmula conocida como la regla de Zeller o aprovechando una librería de fecha del lenguaje elegido. Definir un arreglo con el número de días por mes aplicando la regla de año bisiesto: un año es bisiesto si es divisible por 4 y no por 100, salvo que sea divisible por 400.

Formato de salida: elegir un ancho fijo por día, por ejemplo 6 caracteres, y un separador interno de 5 espacios entre columnas para que cada celda ocupe el mismo espacio. Componer la cabecera del mes centrando el nombre del mes dentro del ancho total de la tabla del mes. Construir la cabecera de los días con abreviaturas como Lun Mar Mie Jue Vie Sab Dom y luego ir llenando cada semana con los números de día justificados a la derecha o a la izquierda según preferencia, completando con espacios cuando corresponda para mantener columnas alineadas.

Estructura de bucles: 1 recorrer meses de 1 a 12, 2 añadir cabecera del mes y cabecera de días al resultado, 3 inicializar una cadena para la semana actual con padding en la parte inicial según el día de la semana del primer día del mes, 4 iterar los días del 1 al n del mes y para cada día concatenar su representación formateada, 5 cuando la semana reúne siete días o se alcanza el final del mes añadir la cadena de la semana al resultado y reiniciar la cadena para la siguiente semana, 6 después del último día si queda contenido parcial añadirlo también.

Consejos de implementación: para obtener el día de la semana de cualquier fecha se puede usar funciones del lenguaje o implementar Zeller. Para la salida en texto plano conviene usar una fuente monoespaciada como Courier Consolas o SimSun de modo que espacios y caracteres ocupen el mismo ancho y la tabla quede alineada. Evitar tabuladores y confiar en espacios para garantizar consistencia entre entornos.

Ejemplo de variables empleadas en la implementación con SPL mencionada en el original: y como año objetivo c para el resultado w para el índice del día de la semana s como carácter de relleno y d como ancho de cada celda. La lógica sigue los pasos descritos y produce una lista de cadenas donde cada entrada representa una línea del calendario.

Referencias y herramientas relacionadas: la implementación original usa SPL y se puede revisar el repositorio en https github com SPLWare esProc y descargar la herramienta desde https www esproc com download esproc además de probar demos en try esproc com. Estas referencias son útiles si se quiere estudiar una implementación concreta y adaptarla a otros lenguajes.

Sobre Q2BSTUDIO: somos Q2BSTUDIO una empresa de desarrollo de software y aplicaciones a medida especializada en soluciones a medida para empresas. Ofrecemos servicios de software a medida aplicaciones a medida e integración de inteligencia artificial para empresas. También proveemos servicios de ciberseguridad para proteger sus sistemas y datos servicios cloud aws y azure para migración y operación en la nube y servicios inteligencia de negocio que incluyen soluciones con power bi para visualización y análisis. Desarrollamos agentes IA pipelines de machine learning y proyectos de ia para empresas que mejoran procesos y automatizan tareas críticas.

Si desea que adaptemos este calendario a una aplicación web móvil o a un servicio automatizado a medida contacte con Q2BSTUDIO para valorar integración con sus sistemas análisis de datos y despliegue en servicios cloud aws y azure. Nuestros equipos también ofrecen consultoría en inteligencia artificial agentes IA ciberseguridad y power bi para impulsar la toma de decisiones basada en datos.

Palabras clave: aplicaciones a medida software a medida inteligencia artificial ciberseguridad servicios cloud aws y azure servicios inteligencia de negocio ia para empresas agentes IA power bi.

Contacto y cierre: en Q2BSTUDIO transformamos ideas en software funcional y seguro si quiere una demostración o un presupuesto para un calendario personalizado integrado en su solución digital solicítenos información y le atenderemos con una propuesta a medida.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat