{"id":84731,"date":"2022-08-09T13:58:33","date_gmt":"2022-08-09T11:58:33","guid":{"rendered":"https:\/\/keepcoding.io\/?p=84731"},"modified":"2024-12-05T22:27:35","modified_gmt":"2024-12-05T20:27:35","slug":"formato-iso-en-python","status":"publish","type":"post","link":"https:\/\/keepcoding.io\/blog\/formato-iso-en-python\/","title":{"rendered":"\u00bfC\u00f3mo utilizar el formato ISO en Python?"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Si a\u00fan no sabes c\u00f3mo utilizar el formato ISO en <a href=\"https:\/\/keepcoding.io\/blog\/que-es-input-en-python-y-como-usarlo\/\">Python<\/a> para la implementaci\u00f3n de fechas en tus programas de c\u00f3digo, este art\u00edculo es para ti. A continuaci\u00f3n, te explicaremos de qu\u00e9 manera se utilizar el formato ISO en Python en un programa de c\u00f3digo, cuyo objetivo es desarrollar una aplicaci\u00f3n web que registra los ingresos y gastos de una cuenta con las siguientes variables: fecha, hora, concepto, ingreso o gasto y, por \u00faltimo, la cantidad que corresponde al movimiento.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As\u00ed pues,<strong> a continuaci\u00f3n, te presentamos el proceso para utilizar el formato ISO en Python. <\/strong><\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_74 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u00bfQu\u00e9 encontrar\u00e1s en este post?<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Alternar tabla de contenidos\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/keepcoding.io\/blog\/formato-iso-en-python\/#Datetime_en_Python_fromisoformat\" >Datetime en Python: fromisoformat<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/keepcoding.io\/blog\/formato-iso-en-python\/#%C2%BFComo_utilizar_el_formato_ISO_en_Python\" >\u00bfC\u00f3mo utilizar el formato ISO en Python?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/keepcoding.io\/blog\/formato-iso-en-python\/#Definir_la_clase_Movimiento\" >Definir la clase Movimiento<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/keepcoding.io\/blog\/formato-iso-en-python\/#Establecer_una_excepcion_donde_la_fecha_es_futura\" >Establecer una excepci\u00f3n donde la fecha es futura<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/keepcoding.io\/blog\/formato-iso-en-python\/#Representacion_del_formato_ISO_en_Python\" >Representaci\u00f3n del formato ISO en Python<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/keepcoding.io\/blog\/formato-iso-en-python\/#Sigue_conociendo_sobre_Python\" >Sigue conociendo sobre Python<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Datetime_en_Python_fromisoformat\"><\/span>Datetime en Python: fromisoformat<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El formato ISO en Python est\u00e1 establecido dentro del m\u00f3dulo <a href=\"https:\/\/docs.python.org\/es\/3\/library\/datetime.html\" data-type=\"URL\" data-id=\"https:\/\/docs.python.org\/es\/3\/library\/datetime.html\" target=\"_blank\" rel=\"noopener\">Datetime<\/a> de Python, el cual se encarga de proporcionar m\u00e9todos y clases para controlar las fechas y el tiempo en horas, minutos y segundos de un programa de c\u00f3digo. Estos, una vez establecidos, permitir\u00e1n formatear estas fechas. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La clase del m\u00e9todo Fromisoformat de Python se encarga de representar en un <em>string<\/em> o cadena, <strong>una fecha determinada en formato ISO<\/strong>. Este es el formato de fecha internacional que est\u00e1 representado de la siguiente manera: a\u00f1o, mes y d\u00eda, es decir, YYYY &#8211; MM &#8211; DD.  Para utilizar este m\u00e9todo, deber\u00e1s importar la fecha del m\u00f3dulo <em>datatime: from datatime import date.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%C2%BFComo_utilizar_el_formato_ISO_en_Python\"><\/span>\u00bfC\u00f3mo utilizar el formato ISO en Python?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">En este apartado no solo te explicaremos c\u00f3mo integrar el m\u00e9todo del formato ISO en Python, sino que tambi\u00e9n nos encargaremos de mostrarte c\u00f3mo jugar con \u00e9l cuando est\u00e1s levantando una excepci\u00f3n en tu programa de c\u00f3digo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para este ejemplo, <strong>hemos realizaod una app web que registre los ingresos y gastos de una cuenta<\/strong>. As\u00ed pues, para representar el formato ISO en Python con un ejemplo pr\u00e1ctico, deber\u00e1s cumplir con dos pasos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Definir_la_clase_Movimiento\"><\/span><em><strong>Definir la clase Movimiento<\/strong><\/em><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En un primer momento, deber\u00e1s definir la clase Movimiento, no sin antes haber importado cada una de las librer\u00edas necesarias para el funcionamiento del programa, as\u00ed como el m\u00f3dulo de datatime de Python <strong>para el m\u00e9todo de clase <em>fromisoformat<\/em><\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La definici\u00f3n de la clase tendr\u00e1 todos las variables del fichero CSS y del programa para crear la tabla con los movimientos. Si quieres saber c\u00f3mo hacerlo, te recomendamos leer nuestro art\u00edculo sobre la <a href=\"https:\/\/keepcoding.io\/blog\/clase-movimiento-de-la-app-de-ingresos-y-gastos\/\" data-type=\"URL\" data-id=\"https:\/\/keepcoding.io\/blog\/clase-movimiento-de-la-app-de-ingresos-y-gastos\/\">clase Movimiento<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Establecer_una_excepcion_donde_la_fecha_es_futura\"><\/span><strong><em>Establecer una excepci\u00f3n donde la fecha es futura<\/em><\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Para la primera excepci\u00f3n, donde se encontrar\u00e1 el m\u00e9todo de ISO, tendr\u00e1s que establecer una variable a la que llamaremos <strong>\u00abahora\u00bb con un m\u00e9todo de Python datetime.now<\/strong>, cuyo objetivo es presentar la fecha en la que se ejecuta el programa. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora en el <em>try<\/em> de la excepci\u00f3n deber\u00e1s obtener la fecha con el m\u00e9todo <em>fromisoformat<\/em>, a la que se le pasar\u00e1 la fecha de clase del formato CSS que se integra al programa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez hecho esto, empezar\u00e1s con la condici\u00f3n, en donde,<strong> si la fecha otorgada es superior a la fecha, levantar\u00e1 un error, pues son datos futuros. <\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En este apartado, deber\u00e1s comparar dos cadenas con el m\u00e9todo <em>strftime<\/em>, despu\u00e9s se devolver\u00e1 la oraci\u00f3n \u00abLa fecha no puede ser futura\u00bb. Luego, tendr\u00e1s que levantar una excepci\u00f3n donde el formato es el incorrecto. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Representacion_del_formato_ISO_en_Python\"><\/span><strong><em>Representaci\u00f3n del formato ISO en Python<\/em><\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A continuaci\u00f3n, te traemos la representaci\u00f3n del formato ISO en Python de los pasos que hemos establecido anteriormente:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em><strong>#importar la fecha<\/strong><\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">from datatime import date<br>class Movimiento:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">  def __init__ (self, linea):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">   self.errores = []\n\n\n\n<p class=\"wp-block-paragraph\">ahora = datetime.now()<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">try:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">    self.fecha = date.fromisoformat (linea [\u00abfecha\u00bb]) <em>#yyy &#8211; mm &#8211; dd<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">    if self.fecha.strftime (\u00ab%Y%m%d\u00bb) &gt; ahora.strftime (\u00ab%Y%m%d\u00bb):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">         self.errores.append (\u00abLa fecha no puede ser futura\u00bb)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">except ValueError:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">        self.errores.append (\u00abFormato de fecha err\u00f3neo\u00bb)    <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em><strong>#variables de la clase<\/strong><\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">self.fecha = linea [\u00abfecha\u00bb]\n\n\n\n<p class=\"wp-block-paragraph\">self.hora = linea [\u00abhora\u00bb]\n\n\n\n<p class=\"wp-block-paragraph\">self.concepto = linea [\u00abconcepto\u00bb]\n\n\n\n<p class=\"wp-block-paragraph\">self.ingreso_gasto = linea [\u00abingreso_gasto\u00bb]\n\n\n\n<p class=\"wp-block-paragraph\">self.cantidad = linea [\u00abcantidad\u00bb]\n\n\n\n<p class=\"wp-block-paragraph\">De esta manera, ya has integrado el formato ISO en Python a tu programa de c\u00f3digo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Sigue_conociendo_sobre_Python\"><\/span>Sigue conociendo sobre Python<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora que ya sabes c\u00f3mo utilizar el formato ISO  en Python, puedes empezar a jugar con las fechas, con el tiempo y otros elementos de n\u00fameros dentro del desarrollo de tu programa de c\u00f3digo. Estos son importantes, por ejemplo,<strong> cuando est\u00e1s desarrollando apps de movimientos (ingresos y gastos) de una cuenta<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si quieres seguir aprendiendo acerca de formatos y otras herramientas del lenguaje de <a href=\"https:\/\/keepcoding.io\/blog\/que-es-la-programacion-y-para-que-sirve\/\">programaci\u00f3n<\/a> Python, pero quieres hacerlo con la ayuda de programadores profesionales, te recomendamos empezar de cero y matricularte en nuestro programa <a href=\"https:\/\/keepcoding.io\/nuestros-bootcamps\/bootcamp-aprende-a-programar\/\">Aprende a Programar desde Cero Full Stack Jr. Bootcamp<\/a>. <strong>\u00a1An\u00edmate a seguir aprendiendo!<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Si a\u00fan no sabes c\u00f3mo utilizar el formato ISO en Python para la implementaci\u00f3n de fechas en tus programas de c\u00f3digo, este art\u00edculo es para ti. A continuaci\u00f3n, te explicaremos de qu\u00e9 manera se utilizar el formato ISO en Python en un programa de c\u00f3digo, cuyo objetivo es desarrollar una aplicaci\u00f3n web que registra los &#8230; <a title=\"\u00bfC\u00f3mo utilizar el formato ISO en Python?\" class=\"read-more\" href=\"https:\/\/keepcoding.io\/blog\/formato-iso-en-python\/\" aria-label=\"Leer m\u00e1s sobre \u00bfC\u00f3mo utilizar el formato ISO en Python?\">Leer m\u00e1s<\/a><\/p>\n","protected":false},"author":4,"featured_media":84755,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19,391],"tags":[499,405],"class_list":["post-84731","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-fundamentos-programacion","tag-conceptos-programacion","tag-python"],"_links":{"self":[{"href":"https:\/\/keepcoding.io\/wp-json\/wp\/v2\/posts\/84731","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/keepcoding.io\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/keepcoding.io\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/keepcoding.io\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/keepcoding.io\/wp-json\/wp\/v2\/comments?post=84731"}],"version-history":[{"count":0,"href":"https:\/\/keepcoding.io\/wp-json\/wp\/v2\/posts\/84731\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/keepcoding.io\/wp-json\/wp\/v2\/media\/84755"}],"wp:attachment":[{"href":"https:\/\/keepcoding.io\/wp-json\/wp\/v2\/media?parent=84731"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/keepcoding.io\/wp-json\/wp\/v2\/categories?post=84731"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/keepcoding.io\/wp-json\/wp\/v2\/tags?post=84731"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}