SE wird heute 2017-05-04 um 00:00 UTC bis 00:20 UTC down / read only sein .
Ihre Herausforderung besteht darin, einen Wahrheitswert auszugeben, wenn SE nicht aktiv / schreibgeschützt ist, und einen falschen Wert, wenn SE nicht aktiv ist. Möglicherweise haben Sie keine Eingabe, und Sie müssen das eingebaute Datum verwenden, um zu bestimmen, ob SE inaktiv / schreibgeschützt ist (keine tatsächliche Abfrage der SE-API!). Beispielausgabe:
12:34 UTC 03 May 2017 -> false
00:00 UTC 04 May 2017 -> true
00:20 UTC 20 May 2017 -> undefined, see below
Das ist undefiniertes Verhalten, weil es zu weit nach dem Zeitfenster ist. Um es klar 8:00
auszudrücken , können Sie davon ausgehen, dass Ihr Programm heute (03.05.17) bis 1:00
morgen (04.05.17) von UTC ausgeführt wird.
00:21 UTC 04 May 2017 -> false
00:20 UTC 04 May 2017 -> true
00:10 UTC 04 May 2017 -> true
Beachten Sie, dass alle wahrheitsgemäßen oder falschen Werte zulässig sind, nicht nur true
und false
. Sie müssen auf die nächste Sekunde genau sein und dürfen die Systemuhr nicht ändern! Sie können davon ausgehen, dass Ihr Programm auf einem Computer in der +0 UTC
Zeitzone ausgeführt wird.
quelle
sudo time <insert time here> && echo true
Antworten:
05AB1E ,
32261198 BytesErläuterung:
Probieren Sie es online!
quelle
JavaScript (ES6),
2624232221 Byte3 Bytes dank Shaggy und 1 Byte dank Luke gespeichert .
Überprüft, ob die am aktuellen Tag verstrichene Zeit weniger als 1200000 ms (1200s oder 20min) beträgt. Angenommen, die Ausfallzeit beträgt 20 Minuten und nicht 21 Minuten. Dies scheint im verknüpften Beitrag der Fall zu sein.
00:20UTC
ist die exklusive Obergrenze.quelle
new Date
anstelle von verwendennew Date()
.<2
um ein weiteres Byte zu speichern.+
;/
automatisch konvertiertnew Date
zu aNumber
.alert
viel länger istPython 2 ,
4139 BytesDank Erik the Outgolfer 2 Bytes gespart
Probieren Sie es online!
Verwendet den gleichen Algorithmus wie meine JS- und Charcoal-Antworten.
quelle
/72<1
anders<72
?print time.time()/1200<72
wäre ein kürzerer Weg, dasselbe auszudrücken.%1200/72<1
->%1200<72
. Dein TIO verlinkt auf die%1200/72<1
Version - ist das ein Fehler?Gelee , 9 Bytes
Muss
TZ
festgelegt werden aufUTC
, was bei TIO der Fall ist.Probieren Sie es online!
Wie es funktioniert
quelle
00:21
könnte ich ein Byte speichern ...Japt ,
3211 BytesProbieren Sie es online!
quelle
zsh,
3837 bytes:quelle
Bash, 40 Bytes:
quelle
JS (ES6),
525049 BytesWarum ist
Date
so lang? Liefert nur die Minuten00:00
und kehrt zurück,true
wenn sie <21 sind, undfalse
ansonsten.quelle
new Date
anstelle von verwendennew Date()
.y=>(x=new Date).getUTCMinutes()<21&&!x.getUTCHours()
.APL (Dyalog), 14 Bytes
∧/
Ist das alles wahr (UND Reduktion)?1 20>
Diese Zahlen sind größer als2↑
die ersten beiden Elemente von3↓⎕TS
die aktuellen T ime S Stopfer mit drei Elementen getropftquelle
⎕
?⎕
(Quad) ist ein Präfix für Systemnamen in APL. Es wird angenommen , ein leeres Rechteck sein.Holzkohle , 25 Bytes
Drucke
-
für Wahres, nichts für Falsches.Erläuterung
Probieren Sie es online!
quelle
⟦⟧
hier? Benötigen Sie eine Liste oder ein Pfeillisten-Literal?Alice , 17 Bytes
Probieren Sie es online!
Vorausgesetzt, auf einem Computer ausgeführt zu werden, dessen Zeitzone auf UTC eingestellt ist (wie der TIO-Server).
Erläuterung
Im normalen Modus springt die IP diagonal durch das Programm auf und ab. Im Kardinal-Modus wird die IP wie bei den meisten anderen Fungeoids um die Ränder gewickelt.
quelle
MATL , 10 Bytes
Vielen Dank an Dennis für einige Korrekturen
Probieren Sie es online!
Erläuterung
quelle
l72
eher sein als171
in deiner Erklärung?72
vs71
. Auch würde diese Rückkehr0
an00:20
?0
zu00:20
, aber zurückkehren würde1
bei00:20
minus einen kleinen Bruchteil einer Sekunde (gegeben durch die Maschine epsilon fürdouble
Datentyp - mal86400
). Die Herausforderung besagt, dass "Sie auf die nächste Minute genau sein müssen", und ich verstehe, dass dies akzeptabel ist00:20 -> true
als Testfall. Hat einen Kommentar zu der Frage hinterlassen.Python 3 (NON-REPL) + Zeit,
81Bytes-4 Bytes dank Bahrom
Ein naiver Ansatz, bei dem das aktuelle Datum in Zeichenfolge umgewandelt und die Zeichen analysiert werden.
quelle
import time;e=str(time.strftime('%H:%M'));e[:2]=='00'and int(e[2:])<21
. Dies kann wahrscheinlich auch noch weiter golfen werden.import time;time.localtime();_.tm_hour==0 and _.tm_min<21
. Wir schlagen sowieso nicht nur ASCII lolPyth, 11 Bytes
Online-Dolmetscher-Link
quelle
Bash ,
55535150 Bytes-1 Byte aus dem Kommentar von @ robbie0630.
Probieren Sie es online!
Der Vorteil dieser Lösung besteht darin, dass sie für jedes Datum funktioniert (dh, sie wird
1
nur für den in der Challenge definierten Zeitraum zurückgegeben, da die Epochenzeit verwendet wird).quelle
$(...)
mit`...`
Swift + Foundation, 178 Byte
Für schnelle Verhältnisse recht kurz. Hör zu!
Wie in meiner Python-Antwort habe ich im Grunde genommen den aktuellen Wert
Date
in einen String umgewandelt und dessen Ziffern analysiert, je nachdem, welchen Bool ich gedruckt habe.quelle
R, 65 Bytes
Prüft, ob die Stunde == 0 und die Minute <21 ist.
quelle
PostgreSQL, 43 Zeichen
Nur weil ich SQL für Datums- / Zeitberechnungen bevorzuge.
Probelauf:
quelle