Entrada:
Una fecha (que contiene dd
, MM
y yyyy
). Un objeto de fecha, o tres enteros separados también son válidos como entrada.
Salida:
Cada parte ( dd
, MM
y yyyy
) se revierte individualmente y se redondea a la fecha válida más cercana.
Por ejemplo (en el formato dd-MM-yyyy
): se
21-10-2016
convierte12-01-6102
Reglas de desafío:
- Sólo
dd
,MM
,yyyy
es válida, pero el orden y que separan-símbolos que se utiliza es su propia elección.
Así que estos son algunos ejemplos de formato válidos:dd-MM-yyyy
;MM/dd/yyyy
;yyyy MM dd
;ddMMyyyy
, Etc.
Y estos son algunos ejemplos de formato no válidos:dd MMM yyyy
;dd-MM-'yy
; etc. - También puede elegir simplemente ingresar un objeto Fecha si su idioma lo admite o tres parámetros enteros separados, en lugar de la cadena que representa una fecha.
- ¡Indique qué formato de fecha ha utilizado! (Y la entrada y la salida deben estar en el mismo formato). También se permite la salida de un objeto Fecha, siempre que pueda manejar todos los casos de prueba y la regla de desafío a continuación.
- La transición del calendario juliano al gregoriano se ignora para este desafío. Por
1582
lo tanto, es solo un año inverso válido para2851
.
Vea la información / consejos del desafío para todos los años, meses y días válidos. - Como no puede tener febrero como revertido de cualquier otro mes, no tiene que preocuparse por los años bisiestos.
Todos los años, meses y días invertidos:
- El año siempre se puede revertir sin problemas, llegando de 0001 (revertido
1000
) a 9999 (restos9999
). (Por0000
lo tanto, no es una entrada válida, y tampoco hay casos de prueba para ello). - Los únicos meses que habrá revertido son: enero (revertido desde octubre /
10
); Octubre (invertido desde enero /01
); Noviembre (sigue siendo noviembre /11
); y diciembre (revertido de cada dos meses /02
-09
,12
). - Los únicos días que habrá invertido son: 01 (invertido desde
10
), 02 (invertido desde20
), 03 (invertido desde30
), 10 (invertido desde01
), 11 (restos11
), 12 (invertido desde21
), 13 (invertido desde31
) , 20 (invertido desde02
), 21 (invertido desde12
), 22 (restos22
), 30 (¡invertido03
o igual que 31 para noviembre!), 31 (invertido desde04
-09
/13
-19
/23
-29
).
Reglas generales:
- Este es el código de golf , por lo que la respuesta más corta en bytes gana.
No permita que los lenguajes de código de golf lo desalienten de publicar respuestas con idiomas que no sean de código. Trate de encontrar una respuesta lo más breve posible para 'cualquier' lenguaje de programación. - Se aplican reglas estándar para su respuesta, por lo que puede utilizar STDIN / STDOUT, funciones / método con los parámetros adecuados y declaraciones / resultados de retorno, programas completos. Tu llamada.
- Las lagunas predeterminadas están prohibidas.
- Si es posible, agregue un enlace con una prueba para su código.
- Además, agregue una explicación si es necesario.
Casos de prueba ( dd-MM-yyyy
como formato):
21-07-2016 -> 12-12-6102
12-11-1991 -> 21-11-1991
01-01-2000 -> 10-10-0002
27-08-1875 -> 31-12-5781
18-12-2010 -> 31-12-0102
13-01-1981 -> 31-10-1891
04-11-1671 -> 30-11-1761 // Semi-tricky case, since November has 30 days
28-11-2036 -> 30-11-6302 // Semi-tricky case, since November has 30 days
14-06-1855 -> 31-12-5581
30-10-9999 -> 03-01-9999
01-01-2851 -> 10-10-1582
70
, con el año incrementándose.
10-10-2
válida la salida en el tercer caso?
21-07-2016
se revierte12-70-6102
y se redondea a12-12-6102
. No estoy seguro de cómo obtener el resultado##-10-6107
..