El calendario Mel se usa en el mundo ficticio de Kaldia. Su objetivo es convertir las fechas en el calendario Mel.
Este calendario tiene 13 meses de 28 días cada uno, más 1 o 2 días adicionales después del último mes. Un año que es divisible por 4 pero no por 100, o divisible por 400 tiene 366 días, y otros años tienen 365 (es decir, nuestras reglas de año bisiesto, pero con años en el calendario Mel).
Debe usar las abreviaturas de los nombres de mes y día :
meses: dia vio lis gil ful dyu mel ral zan pal mik fav ruj
días: dia vio lis gil ful dyu mel ral zan pal mik fav ruj ser rav tan lin rez jil din ket len lax nen pin mat kun mir
Los días adicionales fuera de cualquier mes tienen el nombre del mes myuxet
(sin abreviatura aquí), y los nombres de los días son axet
y teems
, respectivamente.
0 dia dia
es 1988/11/30.
Puede tomar la fecha de entrada como una cadena o una tupla (año, mes, día); alternativamente, para funciones, el parámetro puede estar en el tipo de fecha de su biblioteca estándar. La salida debe ser una cadena separada por espacios.
Casos de prueba
1776-07-04 => -213 ral ket
1859-12-15 => -129 dia rav
1917-04-14 => -72 ful nen
1981-02-04 => -8 lis mik
1988-11-30 => 0 dia dia
1988-12-01 => 0 dia vio
1988-12-28 => 0 vio dia
2017-01-01 => 28 vio ful
2019-04-22 => 30 dyu lis
2019-11-30 => 30 myuxet axet
2019-12-01 => 31 dia dia
2021-11-29 => 32 myuxet axet
2021-11-30 => 32 myuxet teems
2089-11-30 => 101 dia dia
2389-11-30 => 400 myuxet teems
Debería poder manejar las fechas desde 1 AD hasta 9999 AD por lo menos.
Implementación de referencia en Perl 6
Las lagunas estándar están prohibidas.
-213 Ral Ket
?
axet
yteems
al final del año, estaba confundido hasta que miré el enlace