SE hanya akan dibaca / dibaca hari ini 2017-05-04 pukul 00:00 UTC hingga 00:20 UTC.
Tantangan Anda adalah untuk menghasilkan nilai kebenaran jika SE turun / hanya membaca dan nilai palsu jika SE tidak. Anda mungkin tidak memiliki input apa pun, dan Anda harus menggunakan date builtin untuk menentukan apakah SE hanya down / read (tidak benar-benar menanyakan SE api!) Contoh output:
12:34 UTC 03 May 2017 -> false
00:00 UTC 04 May 2017 -> true
00:20 UTC 20 May 2017 -> undefined, see below
Itu perilaku yang tidak terdefinisi, karena terlalu jauh setelah waktu. Agar lebih jelas, Anda dapat mengasumsikan program Anda akan dijalankan dari UTC 8:00
hari ini (5/3/17) hingga UTC 1:00
besok (5/4/17).
00:21 UTC 04 May 2017 -> false
00:20 UTC 04 May 2017 -> true
00:10 UTC 04 May 2017 -> true
Perhatikan bahwa setiap nilai kebenaran atau nilai palsu diizinkan, bukan hanya true
dan false
. Anda harus akurat hingga detik terdekat, dan tidak mengubah jam sistem! Anda dapat berasumsi bahwa program Anda sedang dijalankan pada mesin di +0 UTC
zona waktu.
sumber
sudo time <insert time here> && echo true
Jawaban:
05AB1E ,
32261198 bytePenjelasan:
Cobalah online!
sumber
JavaScript (ES6),
2624232221 byteDisimpan 3 byte berkat Shaggy dan 1 byte berkat Luke .
Cek apakah waktu yang berlalu pada hari ini kurang dari 1200000 ms (1200 atau 20 menit). Menganggap downtime adalah 20 menit, bukan 21, yang tampaknya merupakan kasus dalam pos tertaut.
00:20UTC
adalah batas atas eksklusif.sumber
new Date
bukannew Date()
.<2
untuk menyimpan byte lain.+
;/
secara otomatis dikonversinew Date
ke aNumber
.alert
yang jauh lebih lamaPython 2 ,
4139 byteDisimpan 2 byte berkat Erik the Outgolfer
Cobalah online!
Menggunakan algoritma yang sama dengan jawaban JS dan Arang saya.
sumber
/72<1
berbeda dari<72
?print time.time()/1200<72
akan menjadi cara yang lebih pendek untuk mengekspresikan hal yang sama.%1200/72<1
->%1200<72
. TIO Anda tertaut ke%1200/72<1
versi - apakah itu kesalahan?Jelly , 9 byte
Harus
TZ
diatur keUTC
, yang merupakan kasus untuk TIO.Cobalah online!
Bagaimana itu bekerja
sumber
00:21
, I could save a byte...Japt,
3211 bytesTry it online!
sumber
zsh,
3837 bytes:sumber
bash, 40 bytes:
sumber
JS (ES6),
525049 bytesWhy is
Date
so long? Just gets the minutes past00:00
and returnstrue
if they are < 21, andfalse
otherwise.sumber
new Date
instead ofnew Date()
.y=>(x=new Date).getUTCMinutes()<21&&!x.getUTCHours()
.APL (Dyalog), 14 bytes
∧/
is it all-true (AND reduction) that1 20>
these numbers are greater than2↑
the first two elements of3↓⎕TS
the current Time Stamp with three elements droppedsumber
⎕
?⎕
(Quad) is a prefix for system names in APL. It is supposed to be an empty rectangle.Charcoal, 25 bytes
Prints
-
for truthy, nothing for falsy.Explanation
Try it online!
sumber
⟦⟧
do here? Do you need a list or arrowlist literal?Alice, 17 bytes
Try it online!
Assumes to be run on a machine whose timezone is set to UTC (like the TIO server).
Explanation
While in Ordinal mode, the IP bounces diagonally up and down through the program. While in Cardinal mode, the IP wraps around the edges like most other Fungeoids.
sumber
MATL, 10 bytes
Thanks to Dennis for several corrections
Try it online!
Explanation
sumber
l72
rather than171
in your explanation?72
vs71
. Also wouldn't this return0
at00:20
?0
at00:20
, but would return1
at00:20
minus a small fraction of a second (given by the machine epsilon fordouble
data type times86400
). The challenge says "you must be accurate to the nearest minute", so I understand it's acceptable00:20 -> true
as a test case. Left a comment on the question.Python 3 (NON-REPL) + time,
8177 bytes-4 bytes thanks to Bahrom
A naïve approach, turning the current date to string and analysing its characters.
sumber
import time;e=str(time.strftime('%H:%M'));e[:2]=='00'and int(e[2:])<21
. This can probably be golfed even further too.import time;time.localtime();_.tm_hour==0 and _.tm_min<21
. We're not beating ASCII-only anyway lolPyth, 11 bytes
Online interpreter link
sumber
Bash,
55535150 bytes-1 byte from @robbie0630's comment.
Try it online!
The advantage of this solution is that it works for any date (so will return
1
only for the period defined in the challenge, as it uses epoch time).sumber
$(...)
with`...`
Swift + Foundation, 178 bytes
Quite short by swift standards. Check it out!
As in my Python answer, I basically converted the current
Date
to a string and have analysed its digits, depending on which I printed the bool.sumber
R, 65 bytes
Checks if the hour == 0 and the minute < 21.
sumber
PostgreSQL, 43 characters
Just because I prefer SQL for date/time calculations.
Sample run:
sumber