Ús del mòdul datetime ===================== En Python, si volem treballar amb dates o temps podem fer servir el mòdul :py:mod:`datetime`. Esbrineu quines classes incorpora aquest mòdul i què representen, quins atributs té cada classe i per a què serveixen els seus mètodes. Dissenyeu les funcions següents i deseu-les al fitxer :file:`dates.py`: #. La funció `data_a_llista(data)` que donada una instància de la classe :py:class:`datetime.date` amb una data, retorna aquesta data com una llista amb tres enters: dia, mes i any: .. literalinclude:: test-dates.txt :language: pycon :lines: 4-5, 10-15 #. La funció `data_a_string(data)` que donada una instància de la classe :py:class:`datetime.date` amb una data, retorna aquesta data com un string amb el format 'dd/mm/aaaa': .. literalinclude:: test-dates.txt :language: pycon :lines: 27-30 #. La funció `string_a_data(s)` que, donat un string que representa una data en format 'dd/mm/aaaa', retorna aquesta data representada com una instància de la classe :py:class:`datetime.date`: .. literalinclude:: test-dates.txt :language: pycon :lines: 39-42 #. La funció `data_dif(data1, data2)` que, donades dues dates, representades com a instàncies de la classe :py:class:`datetime.date`, retorna un enter corresponent als dies que han transcorregut entre la primera (`data1`) i la segona (`data2`): .. literalinclude:: test-dates.txt :language: pycon :lines: 49-55 #. Utilitzant les funcions anteriors, dissenyeu la funció `tempus_fugit (data1, data2)` que, donats dos strings que representen dates en format 'dd/mm/aaaa', retorni el nombre de dies transcorreguts entre la primera (`data1`) i la segona data (`data2`): .. literalinclude:: test-dates.txt :language: pycon :lines: 65-68 #. Dissenyeu una funció `temps_dif(inst1, inst2)` que, donats dos instants d'un mateix dia, representats com a instàncies de la classe :py:class:`datetime.time`, retorni un enter corresponent als segons que han transcorregut entre el primer (`inst1`) i el segon (`inst2`): .. literalinclude:: test-dates.txt :language: pycon :lines: 77-83 #. Dissenyeu una funció `cap_de_setmana(itdies)` que, donat un iterador sobre una seqüència de dies, representats com a instàncies de la classe :py:class:`datetime.date`, retorni un altre iterador sobre la seqüència de dies que corresponen a dissabte o diumenge de la seqüència donada. Els elements de l'iterador retornat han de ser tuples de dos elements: el primer element és el dia representat com un string i el segon és un altre string amb els valors ``'ds.'`` o ``'dg.'``. Exemples: .. literalinclude:: test-dates.txt :language: pycon :lines: 90-103 .. warning:: Per a resoldre aquest apartat **no es poden fer servir llistes**, tuples, diccionaris ni cap altra estructura de dades **per a desar els elements d'un iterador**. .. note:: Disposeu de jocs de proves al fitxer :download:`test-dates.txt ` i de solucions al fitxer :download:`dates.py `.