Ceci est mon premier code de golf, alors faites-le moi savoir s'il est trop large ou s'il manque des informations pour un bon puzzle!
Défi
En Ontario et peut-être dans d'autres régions du monde, l'électricité est facturée en fonction de la tarification horaire (TOU) , qui fait varier le coût par kilowattheure selon le moment où vous utilisez l'électricité.
Étant donné une date et une heure, je veux savoir si je suis dans une période de pointe (rouge), moyenne (jaune) ou hors pointe (verte).
Contribution
Supposons que l'entrée est fournie dans un format de date-heure ISO 8601 sans fuseau horaire acceptable avec la précision minimale des heures: YYYY-MM-DDThh[:mm[:ss]]
(le T est littéral).
Exemples
- 2014-09-01T14
- 2014-09-01T17: 30
- 2014-09-01T17: 30: 02
Production
La sortie doit être une chaîne On
, Mid
ou Off
.
Règles
- Victoires de code les plus courtes
- Aux fins de ce défi, ignorez les jours fériés
- Supposons les informations trouvées dans ce post. Les règles actuelles de tarification en fonction du temps d'utilisation pourraient changer à l'avenir par le ministère de l'Énergie de l'Ontario.
Information
Jours de semaine d'été (1er mai au 31 octobre)
- Hors pointe: 19h00 - 07h00
- Mi-pic: 07h00 - 11h00 et 17h00 - 19h00
- En pointe: 11h00 - 17h00
En semaine en hiver (du 1er novembre au 30 avril)
- Hors pointe: 19h00 - 07h00
- Mi-pic: 11h00 - 17h00
- En période de pointe: 07h00 - 11h00 et 17h00 - 19h00
Fins de semaine
- Hors pointe: toute la journée
YYYY-MM-DDThh[:mm[:ss]]
puisque les secondes ne peuvent être appliquées que si des minutes sont appliquées?