Contribution:
A Date (contenant dd
, MM
et yyyy
). Un objet date ou trois entiers distincts sont également valides en entrée.
Production:
Chaque partie ( dd
, MM
et yyyy
) est retournée individuellement et arrondie à la date valide la plus proche.
Par exemple (au format dd-MM-yyyy
):
21-10-2016
devient12-01-6102
Règles du défi:
- Seulement
dd
,MM
,yyyy
est valide, mais l'ordre et qui-symboles distincts que vous utilisez est votre choix.
Ce sont quelques exemples de format valides:dd-MM-yyyy
;MM/dd/yyyy
;yyyy MM dd
;ddMMyyyy
, Etc.
Et ce sont quelques exemples de format non valides:dd MMM yyyy
;dd-MM-'yy
; etc. - Vous pouvez également choisir de simplement saisir un objet Date si votre langue le prend en charge ou trois paramètres entiers distincts, au lieu de la chaîne représentant une date.
- Veuillez indiquer le format de date que vous avez utilisé! (Et l'entrée et la sortie doivent être dans le même format.) Il est également autorisé de sortir un objet Date, tant qu'il peut gérer tous les cas de test et la règle de défi ci-dessous.
- La transition du calendrier julien au calendrier grégorien est ignorée pour ce défi. Il ne
1582
s'agit donc que d'une année inversée valide pour2851
.
Voir les infos / conseils du défi pour toutes les années, mois et jours valides. - Puisque vous ne pouvez pas avoir février comme inversé d'un autre mois, vous n'avez pas à vous soucier des années bissextiles.
Toutes les années, mois et jours inversés:
- L'année peut toujours être inversée sans problème, allant de 0001 (inversé de
1000
) à 9999 (restant9999
). (Ce0000
n'est donc pas une entrée valide, et il n'y a pas non plus de cas de test pour cela.) - Les seuls mois que vous aurez inversés sont: janvier (inversé à partir d'octobre /
10
); Octobre (inversé à partir de janvier /01
); Novembre (reste novembre /11
); et décembre (inversé par rapport à tous les deux mois /02
-09
,12
). - Les seuls jours que vous aurez inversés sont: 01 (inversé de
10
), 02 (inversé de20
), 03 (inversé de30
), 10 (inversé de01
), 11 (reste11
), 12 (inversé de21
), 13 (inversé de31
) , 20 (inversé de02
), 21 (inversé de12
), 22 (reste22
), 30 (inversé de03
ou identique au 31 de novembre!), 31 (inversé de04
-09
/13
-19
/23
-29
).
Règles générales:
- C'est le code-golf , donc la réponse la plus courte en octets l'emporte.
Ne laissez pas les langues de golf de code vous décourager de publier des réponses avec des langues autres que le golf de code. Essayez de trouver une réponse aussi courte que possible pour «n'importe quel» langage de programmation. - Des règles standard s'appliquent à votre réponse, vous êtes donc autorisé à utiliser STDIN / STDOUT, des fonctions / méthodes avec les paramètres appropriés et à renvoyer des instructions / sorties, des programmes complets. Ton appel.
- Les failles par défaut sont interdites.
- Si possible, veuillez ajouter un lien avec un test pour votre code.
- Veuillez également ajouter une explication si nécessaire.
Cas de test ( dd-MM-yyyy
au format):
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
l'année augmentant.
10-10-2
sortie est-elle valide dans le troisième cas?
21-07-2016
est inversé12-70-6102
et arrondi à12-12-6102
. Je ne sais pas comment vous obtenez le résultat##-10-6107
..