SE zostanie wyłączony / odczytany tylko dzisiaj 2017-05-04 o 00:00 UTC do 00:20 UTC.
Twoim wyzwaniem jest podanie prawdziwej wartości, jeśli SE jest w dół / tylko do odczytu, i wartości fałszowania, jeśli SE nie jest. Możesz nie mieć żadnych danych wejściowych i musisz użyć wbudowanych funkcji daty, aby ustalić, czy SE jest wyłączone / tylko do odczytu (w rzeczywistości nie pyta o api SE!) Przykład danych wyjściowych:
12:34 UTC 03 May 2017 -> false
00:00 UTC 04 May 2017 -> true
00:20 UTC 20 May 2017 -> undefined, see below
To nieokreślone zachowanie, ponieważ jest zbyt daleko po upływie czasu. Żeby było jasne, możesz założyć, że Twój program będzie uruchamiany od UTC 8:00
dzisiaj (5/3/17) do UTC 1:00
jutro (5/4/17).
00:21 UTC 04 May 2017 -> false
00:20 UTC 04 May 2017 -> true
00:10 UTC 04 May 2017 -> true
Zauważ, że dozwolone są wszelkie wartości prawdy lub fałszu, nie tylko true
i false
. Musisz być dokładny do najbliższej sekundy i nie zmieniać zegara systemowego! Możesz założyć, że twój program jest uruchamiany na komputerze w +0 UTC
strefie czasowej.
źródło
sudo time <insert time here> && echo true
Odpowiedzi:
05AB1E ,
32261198 bajtówWyjaśnienie:
Wypróbuj online!
źródło
JavaScript (ES6),
2624232221 bajtówZaoszczędź 3 bajty dzięki Shaggy i 1 bajt dzięki Luke .
Sprawdza, czy czas upływający w bieżącym dniu jest krótszy niż 1200000 ms (1200 sekund lub 20 minut). Przyjmuje, że czas przestoju to 20 minut, a nie 21, co wydaje się mieć miejsce w połączonym poście.
00:20UTC
jest wyłączną górną granicą.źródło
new Date
zamiastnew Date()
.<2
aby zapisać kolejny bajt.+
;/
automatycznie konwertujenew Date
naNumber
.alert
która jest znacznie dłuższaPython 2 ,
4139 bajtówZaoszczędzono 2 bajty dzięki Erikowi Outgolfer
Wypróbuj online!
Używa tego samego algorytmu, co moje odpowiedzi JS i Charcoal.
źródło
/72<1
różni się od<72
?print time.time()/1200<72
byłby to krótszy sposób na wyrażenie tego samego.%1200/72<1
->%1200<72
. Twoje TIO prowadzi do%1200/72<1
wersji - czy to pomyłka?Galaretka , 9 bajtów
Wymaga
TZ
ustawienia naUTC
, co ma miejsce w przypadku TIO.Wypróbuj online!
Jak to działa
źródło
00:21
byłby najpóźniej , mógłbym zaoszczędzić bajt ...Japt ,
3211 bajtówWypróbuj online!
źródło
zsh,
3837 bajtów:źródło
bash, 40 bajtów:
źródło
JS (ES6),
525049 bajtówDlaczego
Date
tak długo Po prostu mija minuty00:00
i wraca,true
jeśli mają <21, ifalse
inaczej.źródło
new Date
zamiastnew Date()
.y=>(x=new Date).getUTCMinutes()<21&&!x.getUTCHours()
.APL (Dyalog), 14 bajtów
∧/
czy to wszystko prawda (I redukcja), że1 20>
liczby te są większe niż2↑
pierwsze dwa elementy3↓⎕TS
obecna T ime S TAMP z trzech elementów spadłaźródło
⎕
?⎕
(Quad) to przedrostek nazw systemowych w APL. To jest podobno być pusty prostokąt.Węgiel , 25 bajtów
Drukuje
-
za prawdę, nic za fałsz.Wyjaśnienie
Wypróbuj online!
źródło
⟦⟧
tu robi? Potrzebujesz dosłownie listy lub listy strzałek?Alice , 17 bajtów
Wypróbuj online!
Zakłada się, że będzie działał na komputerze, którego strefa czasowa jest ustawiona na UTC (jak serwer TIO).
Wyjaśnienie
W trybie zwykłym adres IP odbija się po przekątnej w górę iw dół przez program. W trybie kardynalnym IP owija się wokół krawędzi, jak większość innych fungeoidów.
źródło
MATL , 10 bajtów
Dzięki Dennis za kilka poprawek
Wypróbuj online!
Wyjaśnienie
źródło
l72
raczej171
w twoim wyjaśnieniu?72
vs71
. Również nie będzie to powrót0
w00:20
?0
o00:20
, ale wróci1
o00:20
minus ułamek sekundy (podane przez epsilon maszyny dladouble
czasów typów danych86400
). Wyzwanie mówi „musisz być dokładny z dokładnością do najbliższej minuty”, więc rozumiem, że jest do zaakceptowania00:20 -> true
stanowi test. Pozostawił komentarz do pytania.Python 3 (NON-REPL) + czas,
8177 bajtów-4 bajty dzięki Bahromowi
Naiwne podejście, polegające na zamianie bieżącej daty na ciąg znaków i analizowanie jej postaci.
źródło
import time;e=str(time.strftime('%H:%M'));e[:2]=='00'and int(e[2:])<21
. Można to chyba jeszcze pograć w golfa.import time;time.localtime();_.tm_hour==0 and _.tm_min<21
. I tak niePyth, 11 bajtów
Link do tłumacza online
źródło
Bash ,
55535150 bajtów-1 bajt od komentarza @ robbie0630.
Wypróbuj online!
Zaletą tego rozwiązania jest to, że działa ono na dowolną datę (dlatego powróci
1
tylko na okres zdefiniowany w wyzwaniu, ponieważ wykorzystuje czas epoki).źródło
$(...)
z`...`
Swift + Foundation, 178 bajtów
Dość krótki jak na szybkie standardy. Sprawdź to!
Tak jak w mojej odpowiedzi w Pythonie, po prostu zamieniłem prąd
Date
na ciąg znaków i przeanalizowałem jego cyfry, w zależności od tego, które wydrukowałem bool.źródło
R, 65 bajtów
Sprawdza, czy godzina == 0 i minuta <21.
źródło
PostgreSQL, 43 znaki
Tylko dlatego, że wolę SQL do obliczeń daty / godziny.
Przykładowy przebieg:
źródło