Formato de fecha ISO

Formato de fecha ISO

He buscado en este foro y en internet y no he encontrado la respuesta a mi pregunta. Estoy buscando utilizar un formato de fecha ISO como 2018W083 para hoy (2018-02-21) en mis informes. Ahora uso el paquete isodate para mis citas \usepackage[iso]{isodate}.

Si esta es una pregunta duplicada, hágamelo saber. No pude encontrarlo.

Respuesta1

Esto (sorprendentemente) no es trivial. HayMacro para el número de semanapero la implementación allí parece poco confiable. Si está dispuesto a utilizar LuaLaTeX, puede realizar una llamada al sistema para encontrar el número de semana (y otras partes de la fecha).

Tenga en cuenta que la biblioteca del sistema define el domingo como 0, mientras que ISO 8601 lo define como 7.

MWE:

\documentclass{article}
\usepackage{luacode}
\newcommand{\weektoday}{\printdate{\the\year}{\the\month}{\the\day}}
\newcommand{\printdate}[3]{%
\luaexec{
timestamp = os.time{year=#1, month=#2, day=#3}
daynr = os.date("\%w",timestamp)
if daynr == "0" then daynr = "7" end
tex.sprint(os.date("\%YW\%V-",timestamp)..daynr)
}
}
\begin{document}
Today: \weektoday

Other date: \printdate{2018}{3}{4}
\end{document}

Resultado:

ingrese la descripción de la imagen aquí


Nota de compatibilidad:en Windows el %Vformato no está implementado. En su lugar, puede utilizar %U(el primer domingo comienza la semana 0) o %W(el primer lunes comienza la semana 0), sin embargo, ambos son diferentes del estándar ISO (el primer jueves determina la semana 1). Puedes calcular el número de semana ISO manualmente en Lua, pero en ese caso también puedes usar una solución LaTeX pura.

información relacionada