sintáxis\documentclass[a4paper]{article}
\usepackage{fullpage}
\usepackage[spanish]{babel}
%\usepackage[latin1]{inputenc}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{colortbl}
\usepackage {html}
\usepackage {hthtml}


\begin{document}
\begin{large}
\noindent
{\bf Prácticas con fechas y horas }  \\
Servicios Telemáticos 2015-2016\\
Grado en Ingeniería Telemática  \\
Universidad Rey Juan Carlos\\ 
\hturl{http://gsyc.urjc.es}
\hrule
\end{large}

\vspace{0.5cm}


%\subsection*{Cambios en el documento}
%\begin{itemize}
%\item
%\end{itemize}


\section*{Observaciones}
\begin{itemize}
\item
%Crea el fichero  \verb|~/st/practica02.txt|,
%que contendrá la memoria que escribas sobre  este segundo bloque de
%prácticas. 
%En la primera línea, indica tu nombre y login. 
%
%En la memoria no es necesario que vuelvas a escribir el enunciado. 
%
%Cuando la ejecución de un apartado de una práctica muestre algo en stdout, es necesario que copies 
%esta salida y la pegues en la memoria.
%%
%%Si bien  es probable que este fichero lo dejes vacío
%%(puesto que cuando la práctica consista en un script,
%%en la memoria no es necesario escribir nada, a menos que tengas
%%algún motivo para indicar algo)
%
Crea el directorio \verb|~/st/practica03| donde escribirás el resto de ficheros de esta práctica. 
Recuerda que la recogida de las prácticas 
se hará automáticamente el dia del examen, así que es muy importante que respetes al pie de la letra todos los
nombres de ficheros y directorios que indiquen todos los enunciados. 
%\item
%Haz que este directorio sea un repositorio git y vete metiendo en él todos los scripts, según los vayas escribiendo.

\end{itemize}

\section*{Práctica 3.1 Zonas horarias}
 

Escribe un fichero
\verb|~/st/practica03/fechas.py|
que

    \begin{enumerate}
    \item
Aceptará desde la entrada estándar un fichero de texto que contendra, en cada línea: el número de
línea (empezando en 1) , un espacio y una fecha

    \item
El formato de la fecha podrá ser o bien  \emph{unix timestamp} o bien \emph{aaaa-mm-dd hh:mm:ss, ciudad}

Donde ciudad podrá ser 
\emph{Madrid},
\emph{Londres},
\emph{Moscu},
\emph{Tokio},  
\emph{New\_York} o
\emph{UTC}
y cada línea podrá emplear un formato o ciudad distinto

Ejemplo:

  \begin{footnotesize}
  \begin{verbatim}
1 1262684480
2 2010-10-02 13:28:10, Londres
3 2002-05-21 15:16:01, New_York
4 1436762748
5 2006-10-31 20:07:42, New_York
6 2005-12-22 21:32:40, Moscu
7 2013-07-08 02:42:16, Madrid
8 2010-02-19 10:58:03, UTC
9 2011-11-09 02:49:09, Londres
10 2005-01-24 20:09:56, Tokio
11 2011-10-05 07:27:22, Moscu
  \end{verbatim}
  \end{footnotesize}


    \item
Si alguna línea no cumple con esta especificación, el script deberá mostrar un mensaje de error en stderr y morir

\item
Si el script no recibe ninguna opción, o si recibe la opción \verb|-t utc| o \verb|--timezone utc|
mostrará por salida estándar el número de línea (empezando por 1) y la hora UTC correspondiente a cada fecha de 
la entrada, con el formato del siguiente ejemplo:

  \begin{footnotesize}
  \begin{verbatim}
1 2010-01-05 09:41:20+00:00
2 2010-10-02 12:28:10+00:00
3 2002-05-21 19:16:01+00:00
4 2015-07-13 04:45:48+00:00
5 2006-11-01 01:07:42+00:00
6 2005-12-22 18:32:40+00:00
7 2013-07-08 00:42:16+00:00
8 2010-02-19 10:58:03+00:00
9 2011-11-09 02:49:09+00:00
10 2005-01-24 11:09:56+00:00
  \end{verbatim}
  \end{footnotesize}

Observa que este es el formato por omisión que emplea python al convertir un datetime con
zona en cadena, no tendrás que personalizar el formato

\item
Si el script recibe la opción 
\verb|-t epoch| o \verb|--timezone epoch|
mostrará por salida estándar el número de línea (empezando por 1) y el timestamp unix correspondiente
a cada fecha de la entrada

Ejemplo

  \begin{footnotesize}
  \begin{verbatim}
1 1262684480
2 1286022490
3 1022008561
4 1436762748
5 1162343262
6 1135276360
7 1373244136
8 1266577083
9 1320806949
10 1106564996
  \end{verbatim}
  \end{footnotesize}

\item
Si el script recibe la opción 
\verb|-t madrid| o \verb|--timezone madrid|
mostrará por salida estándar el número de línea (empezando por 1) y la hora local de madrid, con el formato del
siguiente ejemplo:

  \begin{footnotesize}
  \begin{verbatim}
1 2010-01-05 10:41:20+01:00
2 2010-10-02 14:28:10+02:00
3 2002-05-21 21:16:01+02:00
4 2015-07-13 06:45:48+02:00
5 2006-11-01 02:07:42+01:00
6 2005-12-22 19:32:40+01:00
7 2013-07-08 02:42:16+02:00
8 2010-02-19 11:58:03+01:00
9 2011-11-09 03:49:09+01:00
10 2005-01-24 12:09:56+01:00
11 2011-10-05 05:27:22+02:00
  \end{verbatim}
  \end{footnotesize}

\item
De la misma manera, el script podrá recibir con las opción \verb|-t --timezone| las
cadenas 
\emph{londres},
\emph{moscu},
\emph{tokio},  
\emph{new\_york} 
(observa que son minúsculas)
y el comportamiento será análogo al anterior.

\item
No es necesario que te preocupes por el caso en que el usuario introduzca más de una zona horaria.
Por ejemplo
\verb|-t londres -t tokio|, o \verb|-t londres tokio|. Es aceptable que en este caso la librería
que procesa los argumentos genere una excepción. O que simplemente se acepte la  última zona.

    \end{enumerate}
Usa el fichero
\htlink{fechas.txt}{http://gsyc.urjc.es/~mortuno/st/fechas.txt}
para probar tu script, y compara la salida con los resultados
que encontrarás en
\htlink{solucionfechas.txt}{http://gsyc.urjc.es/~mortuno/st/solucionfechas.txt}
para comprobar que se comporta correctamente


\end{document}
