Dyskordianin kalendarz jest wykorzystywana przez innego harmonogramu Discordians.
- Rok discordian ma 5 sezonów, z których każdy trwa 73 dni: Chaos, Niezgoda, Zamieszanie, Biurokracja i Następstwa.
- Discordian week ma 5 dni: Sweetmorn, Boomtime, Pungenday, Prickle-Prickle i Setting Orange. Każdego roku zaczyna się od Sweetmorn (i w Chaosie).
- Każdy m lat ourth (co Happe n y wyrównać Greg O rian skok tak R e) dodatkowy d ay jest umieszczona pomiędzy chaosu 59 i chaos 60 zwany dzień St. TIB . Jest poza tygodniem Discordian, co oznacza, że dzień po Dniu Świętego Tibia będzie miał Pomarańczowy, dzień przed Prickle-Prickle.
- Ustawiają się kalendarze gregoriański i dyskordian; oba zaczynają się tego samego dnia, który nazywa się 1 stycznia w kalendarzu gregoriańskim, i Chaos 1 w kalendarzu Discordian.
- Pierwszym rokiem Matki Boskiej Niezgodnej (1 ZŁOTO) był rok 1166 pne w kalendarzu gregoriańskim, co oznacza, że w tym roku (2017 r.) Jest 318 ZŁ.
- Kalendarz Discordian ma również święta, ale nie są one ważne dla tego wyzwania i nie powinieneś ich przedstawiać, ani nic na ich temat.
Napisz program lub funkcję, która wyświetla lub zwraca dzisiejszą datę (w momencie wykonania):
Today is Boomtime, the 16th day of Confusion in the YOLD 3183
Format jest taki "Today is $day_of_the_week, the $ordinal day of $season in the YOLD $year"
, w którym $ dzień_tygodnia to dzień tygodnia pisany wielkimi literami, $ porządkowy to dzień sezonu jako porządek dzienny (1., 2., 3., 4., ...), $ sezon jest pisany wielkimi literami (przypadek tytułowy), a rok to rok.
Jeśli twój program lub funkcja jest wykonywana w Dzień Świętego Tibia, powinna zamiast tego wyjść lub powrócić "Today is St. Tib's Day in the YOLD $year"
.
Zasady:
- Obowiązują standardowe luki.
- Jeśli twój wybrany język nie ma możliwości uzyskania bieżącej daty, może również przyjąć aktualną datę gregoriańską w dowolnym rozsądnym formacie jako dane wejściowe.
- To jest golf-golf , wygrywa najkrótszy kod (na język).
- Końcowe białe znaki są w porządku.
- Kwestie kapitalizacji.
- Dzwonienie
ddate
w jakikolwiek sposób jest zabronione - Twój program powinien mieć gwarancję działania od 3067 do 3265 YOLD (1901 do 2099 AD), poza tym zakresem może on podawać nieprawidłowe wartości
Zobacz też:
- Malaclypse The Younger. „Principia Discordia, czyli jak znalazłem boginię i co jej zrobiłem, kiedy ją znalazłem” . p. 00034
- data (1)
- Piaskownica dla tych, którzy ją widzą
Odpowiedzi:
Mathematica,
403401 bajtówWersja zliczająca liczbę bajtów: (usunięte spacje i znaki nowej linii - niestety ta część jest dość trudna)
Wersja do przeczytania:
Odpowiedzią może być badany z dowolną datą zastępując
DateString@"ISOOrdinalDate"
przezDateString[{year,month,day},"ISOOrdinalDate"]
oyear
,month
iday
zastąpione cyframi.źródło
Python 2, 423 bajtów
Krótka wersja:
Dłuższa, bardziej czytelna forma:
Aktualizacja: Naprawiono za pomocą świetnych @Neil i @EriktheOutgolfer. Ale odpowiedź @Jonathans jest znacznie krótsza.
źródło
y%4<1
działałby, ale nie sądzę,1-y%4
by działał .e
zmienną?Python 2 , 346 bajtów
Uwaga: To jest odpowiedź golfa (i poprawka) na odpowiedź jammona - początkowo myślałem, że prześlę komentarz, ale ostatecznie zmieniłem całkiem sporo (a ponadto dodałem sufiksy dnia).
Wypróbuj online! lub zobacz kilka zakodowanych dat testów .
źródło
e%10*(e/9!=1)
działa?11st
,12st
i13st
(gdye/9
jest 1 to by mnożyć przez zero imin
będzie podnieść, że zero)JavaScript (ES6),
387380 bajtówPobiera opcjonalny parametr daty. Nie golfowany:
źródło
C #, 392 bajtów
Wersja pełna / sformatowana:
źródło
Pyth , 295 bajtów
Uwaga: zawiera pliki binarne, kopiowanie i wklejanie może nie być bezpieczne. Kopiowanie i wklejanie z TIO powinno działać.
Wypróbuj online!
Można przetestować arbitralnych dat zastępując
.d2
na początku z 3-krotki (rok, miesiąc, dzień) w taki sposób:(2020 2 29)
.To było trochę denerwujące, ponieważ Pyth nie ma sposobu na uzyskanie „dnia roku”, więc musiałem to obliczyć sam.
źródło