Bei einem bestimmten Eingabedatum gibt Ihr Eintrag die vollständige Liste der unterstützten Versionen der Ubuntu Linux-Distribution an diesem Datum aus.
Die vollständige Liste aller Releases lautet wie folgt:
Versionscode Name Erscheinungsdatum Unterstützt bis 4.10 Warzenschwein 2004-10-20 2006-04-30 5.04 Hoary Hedgehog 2005-04-08 2006-10-31 5.10 Windiger Dachs 2005-10-13 2007-04-13 6.06 LTS Dapper Drake 2006-06-01 2009-07-14 2011-06-01 (Server) 6.10 Edgy Eft 2006-10-26 2008-04-25 7.04 Feisty Fawn 2007-04-19 2008-10-19 7.10 Gutsy Gibbon 18.10.2007 18.04.2009 8.04 LTS Hardy Heron 2008-04-24 2011-05-12 2013-05-09 (Server) 8.10 Unerschrockener Steinbock 30.10.2008 30.04.2010 9.04 Jaunty Jackalope 2009-04-23 2010-10-23 9.10 Karmischer Koala 2009-10-29 2011-04-30 10.04 LTS Lucid Lynx 29.04.2010 09.05.2013 30.04.2015 (Server) 10.10 Außenseiter Erdmännchen 2010-10-10 2012-04-10 11.04 Natty Narwhal 2011-04-28 2012-10-28 11.10 Oneiric Ocelot 13.10.2011 2013-05-09 12.04 LTS Precise Pangolin 2012-04-26 2017-04-26 12.10 Quantal Quetzal 2012-10-18 2014-05-16 13.04 Raring Ringtail 25.04.2013 27.01.2014 13.10 Saucy Salamander 2013-10-17 2014-07-17 14.04 LTS Trusty Tahr 2014-04-17 2019-04 14.10 Utopic Unicorn 2014-10-23 2015-07-23 15.04 Vivid Vervet 2015-04-23 2016-01 15.10 Wily Werewolf 2015-10-22 2016-07 16.04 LTS Xenial Xerus 2016-04-21 2021-04
Regeln
- Für jede unterstützte Version wird der genaue Versionsstring ausgegeben, z
4.10
- Für LTS-Versionen (Long Term Support)
LTS
wird an die Version angehängt - Die drei ältesten LTS-Versionen gibt es in zwei Varianten - Desktop und Server. Wenn beide LTS-Versionen am angegebenen Datum unterstützt werden, ist die Ausgabe einfach die Versionszeichenfolge wie oben. Wenn jedoch nur die Serverversion unterstützt wird, müssen Sie
-server
das Ende der Versionszeichenfolge anhängen - Zum Zeitpunkt des Schreibens haben 4 der neueren Versionen nur JJJJ-MM in ihren unterstützten Enddaten. Sie müssen diese Daten so behandeln, als ob sie der letzte Tag des angegebenen Monats wären. zB 2019-04 muss als 2019-04-30 behandelt werden
- Daten außerhalb des in der Tabelle erfassten vollständigen Datumsbereichs werden nicht ausgegeben
- Eingabe-Datumsformate sind flexibel, müssen jedoch eine Aufzählung von Jahr, Monat und Tag enthalten. Anzahl der Tage oder Sekunden (oder andere Einheiten) aus einer Epoche sind keine gültigen Eingabeformate.
- Ausgabelisten können in jedem für Ihre Sprache geeigneten Format angegeben werden
- Sie können datetime-Funktionen in Ihrer Sprache verwenden
- Sie können davon ausgehen, dass alle Eingaben gültig sind
Beispiele:
Input-Output: 2000-01-01 20.10.2004 4.10 2005-05-05 4.10, 5.04 2006-06-06 5.04, 5.10, 6.06LTS 10.10.2010 6.06LTS-Server, 8.04LTS, 9.04, 9.10, 10.04LTS, 10.10 2021-04-30 16.04LTS 2021-05-01
2010-10-10
sollte zurückkehren6.06LTS-server, 8.04LTS, 9.04, 9.10LTS, 10.04LTS, 10.10
Antworten:
JavaScript (ES6), 552 Byte
Das Erstellen des Datenarrays nimmt ca. 68% der Gesamtgröße ein. Der Rest besteht aus der Eingabeformatierung, der Array-Suche und dem Aufbau der Ausgabezeichenfolge.
Die Datenzeichenfolge wird in ein Array von Arrays mit einer Länge von 2 (normal) oder 3 (Server) aufgeteilt. Die Daten werden auf das numerische Format reduziert, wobei die Anfangszahl "20" (zusammen mit den führenden Nullen danach) entfernt wird. LTS wird durch ein negatives Startdatum gekennzeichnet. Versionsnummern können bequem aus allen bis auf die letzten beiden Ziffern des positiven Startdatums, geteilt durch 100, abgeleitet werden.
quelle
F=
vor dem obigen Code hinzu) und rufen Sie die Funktion dann einfach über diese auf (F("2010-10-10")
). Sie können es in jeder modernen Browser-Entwicklerkonsole ausführen (F12-Taste).