Dies ist mein erstes Codegolf, also lass es mich bitte wissen, wenn es zu breit ist oder wenn mir Informationen für ein gutes Puzzle fehlen!
Herausforderung
In Ontario und möglicherweise in anderen Regionen der Welt wird die Stromrechnung nach den Nutzungsdauer-Gebühren (Time-Of-Use, TOU) berechnet. Die Kosten pro Kilowattstunde hängen davon ab, wann Sie Strom verbrauchen .
Wenn ich ein Datum und eine Uhrzeit angegeben habe, möchte ich wissen, ob ich mich in einem Zeitraum auf der Spitze (rot), in der Mitte (gelb) oder außerhalb der Spitze (grün) befinde.
Eingang
Angenommen, die Eingabe erfolgt in einem akzeptablen zeitzonenlosen ISO 8601-Datums- / Uhrzeitformat mit einer Mindestgenauigkeit von Stunden: YYYY-MM-DDThh[:mm[:ss]]
(das T ist ein Literal).
Beispiele
- 2014-09-01T14
- 2014-09-01T17: 30
- 2014-09-01T17: 30: 02
Ausgabe
Die Ausgabe sollte ein String sein On
, Mid
oder Off
.
Regeln
- Kürzester Code gewinnt
- Ignorieren Sie für diese Herausforderung gesetzliche Feiertage
- Angenommen, die Informationen in diesem Beitrag gefunden. Die tatsächlichen Regeln für die Preisgestaltung für die Nutzungsdauer könnten sich vom Energieministerium in Ontario in Zukunft ändern.
Information
Sommertage (1. Mai bis 31. Oktober)
- Nebensaison: 19.00 - 07.00 Uhr
- Mittelspitze: 07:00 - 11:00 Uhr und 17:00 - 19:00 Uhr
- An der Spitze: 11.00 - 17.00 Uhr
Wintertage (1. November bis 30. April)
- Nebensaison: 19.00 - 07.00 Uhr
- Mittelspitze: 11.00 - 17.00 Uhr
- An der Spitze: 07:00 - 11:00 Uhr und 17:00 - 19:00 Uhr
Wochenenden
- Nebensaison: Den ganzen Tag
YYYY-MM-DDThh[:mm[:ss]]
Sekunden nur angewendet werden können, wenn Minuten angewendet werden?