Septiembre de 1993 se conoce en Usenet como el septiembre que nunca terminó. Así, por ejemplo, el día en que se publica esta pregunta es el sábado 87 de septiembre de 1993.
Su programa o función debe tomar cualquier fecha gregoriana (con año positivo) como entrada y devolver la misma fecha como salida si es anterior a septiembre de 1993 o la fecha en el calendario de septiembre de 1993 si es posterior.
Puede aceptar AAAA-MM-DD, AAAA / MM / DD, MM / DD / AAAA, DD / MM / AAAA, D-Monthnameabbr-AAAA, o cualquier otro formato popular que use la totalidad del año (a diferencia del año módulo 100). Solo necesita aceptar uno de esos formatos, de su elección. El formato de salida debe coincidir con el formato de entrada.
Entrada de muestra → salida:
- Domingo 6 de agosto de 2017 → Domingo 8741 de septiembre de 1993
- Martes 28 de enero de 1986 → Martes 28 de enero de 1986
O:
- 2017-08-06 → 1993-09-8741
- 1986-01-28 → 1986-01-28
En interés de respuestas más interesantes, sdate
no se permite el uso de una función integrada diseñada para este propósito (como el comando UN * X ). Aparte de eso y las excepciones estándar , este es el golf, por lo que gana la respuesta más corta.
Respuestas:
JavaScript (ES6), 48 bytes
Basado en el algoritmo de @ Mr.Xcoder.
fuente
Python 3 , 109 bytes
Pruébalo en línea!
-59 bytes gracias a notjagan
-3 bytes gracias al Sr. Xcoder
-2 bytes gracias a officialaimm
-12 bytes gracias a Jonathan Allan
fuente
-8644+1
puede ser-8643
..z>9
contrario, perderá el cero inicial del día.Mathematica, 55 bytes
I / O
-6 bytes gracias al usuario202729
fuente
{1993,9,1}
por un día, para eliminar el+1
, ahorrando 2 bytes?{1993,9,0}
está permitido.Perl 5 , 102 + 16 (-MTime :: Local -F-) = 118 bytes
Pruébalo en línea!
Toma la fecha como "AAAA-MM-DD"
Creo que hice el recuento justo en las opciones de línea de comando. Estoy seguro de que alguien me corregirá si no lo hice.
fuente
C # (.NET Core) , 107 bytes
Pruébalo en línea!
Toma fechas como M / D / AAAA (números por debajo de 10 escritos con solo 1 dígito). Escrito desde mi teléfono móvil usando la API de memoria.
fuente
Gaia , 78 bytes
Pruébalo en línea!
Explicación
Primero, tenemos una función auxiliar que determina si un año es bisiesto.
La función principal hace el resto del trabajo:
fuente