Parece que todavía no tenemos este, así que aquí vamos:
El reto
Escriba un programa o función que tome una fecha como entrada y genere el número de día del año. ¡No puedes usar ningún incorporado para eso!
Reglas
- Como de costumbre, puede escribir un programa completo o una función.
- El formato de la entrada depende de usted, pero debe contener un año, un mes y un día. ¡Deje claro cuál usa su solución!
- ¡No se permiten construcciones relacionadas con la fecha! Tienes que hacer el trabajo tú solo. Las construcciones que no están relacionadas con las operaciones de fecha están bien.
- La base para el cálculo es el calendario gregoriano.
- Tienes que tener en cuenta los años bisiestos.
- Solo necesita manejar años en el rango [1, 9999]
- Las lagunas estándar están prohibidas.
- ¡El conteo de bytes más bajo gana!
Casos de prueba
El formato de entrada aquí es AAAA / MM / DD
2016/07/05 -> 187
2000/03/28 -> 88
0666/06/06 -> 157
6789/10/11 -> 284
0004/04/04 -> 95
1337/07/13 -> 194
¡Feliz codificación!