{"id":407,"date":"2024-11-06T19:48:12","date_gmt":"2024-11-06T18:48:12","guid":{"rendered":"https:\/\/www.pythonparatodo.com\/?p=407"},"modified":"2024-11-06T19:48:13","modified_gmt":"2024-11-06T18:48:13","slug":"calendario","status":"publish","type":"post","link":"https:\/\/www.pythonparatodo.com\/?p=407","title":{"rendered":"Calendario"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Existe un m\u00f3dulo llamado calendar que entre otras cosas genera calendarios en modo texto o html.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Su uso es el siguiente:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Primero importamos el m\u00f3dulo.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">import calendar<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Despu\u00e9s indicamos cual es el primer d\u00eda de la semana que para el caso de Espa\u00f1a ser\u00e1 el lunes.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">calendar.setfirstweekday(calendar.MONDAY)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora asignamos el calendario de texto a una variable.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">cal = calendar.TextCalendar()<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Por cierto, si queremos ahorrarnos el paso previo de indicar el primer d\u00eda de la semana, podemos indicarlo directamente aqu\u00ed.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">cal = calendar.TextCalendar(calendar.MONDAY)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Hasta aqu\u00ed todo bien, ahora tenemos que decirle que mes queremos que muestre en pantalla para ello hacemos uso del m\u00e9todo <strong>prmonth<\/strong> al que pasamos dos par\u00e1metros, uno es el a\u00f1o y el otro el mes, por ejemplo para noviembre del 2024 quedar\u00eda as\u00ed:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">cal.prmonth(2024,11)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Bueno, m\u00e1s o menos con este c\u00f3digo obtenemos el siguiente resultado.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">import calendar\ncal = calendar.TextCalendar(calendar.MONDAY)\ncal.prmonth(2024,11)<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"206\" height=\"143\" data-id=\"408\" src=\"https:\/\/www.pythonparatodo.com\/wp-content\/uploads\/2024\/11\/calendario_en.png\" alt=\"\" class=\"wp-image-408\"\/><\/figure>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Pero claro, est\u00e1 en ingl\u00e9s y quiz\u00e1s podemos quererlo en un idioma diferente como por ejemplo en espa\u00f1ol, en ese caso podemos hacer uso del m\u00f3dulo <strong>locale<\/strong> de la siguiente forma para obtener el mismo resultado pero traducido.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">import locale\nlocale.setlocale(locale.LC_ALL, 'es_ES')\nimport calendar\ncalendar.setfirstweekday(calendar.MONDAY)\ncal = calendar.TextCalendar()\ncal.prmonth(2024,11)<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"199\" height=\"136\" data-id=\"409\" src=\"https:\/\/www.pythonparatodo.com\/wp-content\/uploads\/2024\/11\/calnoves.png\" alt=\"\" class=\"wp-image-409\"\/><\/figure>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u00bfY si queremos mostrar el a\u00f1o completo?, entonces podemos hacer uso del m\u00e9todo <strong>prcal<\/strong> al que pasaremos c\u00f3mo par\u00e1metro el a\u00f1o a mostrar.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">import locale\nlocale.setlocale(locale.LC_ALL, 'es_ES')\nimport calendar\ncalendar.setfirstweekday(calendar.MONDAY)\ncalendar.prcal(2024)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Obtendremos un resultado parecido a este:<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"671\" data-id=\"410\" src=\"https:\/\/www.pythonparatodo.com\/wp-content\/uploads\/2024\/11\/calyeares.png\" alt=\"\" class=\"wp-image-410\" srcset=\"https:\/\/www.pythonparatodo.com\/wp-content\/uploads\/2024\/11\/calyeares.png 680w, https:\/\/www.pythonparatodo.com\/wp-content\/uploads\/2024\/11\/calyeares-300x296.png 300w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/figure>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Ell m\u00f3dulo <strong>calendar<\/strong> puede hacer mucho m\u00e1s. Os animo a mirar la documentaci\u00f3n desde el entorno interactivo de Python (IDLE). Ya sab\u00e9is, en el terminal escrib\u00eds python y en el IDLE escrib\u00eds.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">import calendar\nhelp(calendar)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Si encontr\u00e1is algo interesante dejad un comentario con vuestras impresiones \ud83d\ude09<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Existe un m\u00f3dulo llamado calendar que entre otras cosas genera calendarios en modo texto o html. Su uso es el &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[142,2,6],"class_list":["post-407","post","type-post","status-publish","format-standard","hentry","category-python","tag-calendario","tag-python","tag-python3"],"_links":{"self":[{"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/posts\/407","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=407"}],"version-history":[{"count":1,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/posts\/407\/revisions"}],"predecessor-version":[{"id":411,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/posts\/407\/revisions\/411"}],"wp:attachment":[{"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=407"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=407"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=407"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}