Tantangan
Anda harus menampilkan waktu saat ini secara terus-menerus (sampai dibatalkan dengan interupsi), sekali setiap detik, dengan salah satu dari cara berikut:
- Itu harus dalam format 24 jam atau AM / PM.
- Jika itu yang pertama, itu harus diberi spasi dengan titik dua (yaitu 15:47:36).
- Jika itu yang terakhir, itu harus diberi spasi dengan titik dua dan memiliki AM / PM berikut (yaitu 3:47:36 PM)
- Mungkin ditarik dari internet.
- Mungkin waktu sistem.
- Ini harus menampilkan segala bentuk output yang dapat diakses secara alami yang mendukung teks yang Anda pilih.
- Output mungkin memiliki informasi tambahan selain waktu di dalamnya, tetapi Anda harus menjamin satu, dan hanya satu, output waktu per detik.
- Output kontinu harus terpisah satu detik - jika Anda memilih untuk menunggu sampai perubahan kedua antara output, itu bagus. Jika Anda menunggu sebentar di antara setiap output, itu bisa diterima, meskipun akhirnya kehilangan keakuratan.
Karena ini adalah katalog, bahasa yang dibuat setelah tantangan ini diizinkan untuk bersaing. Perhatikan bahwa harus ada juru bahasa sehingga pengajuan dapat diuji. Diperbolehkan (dan bahkan dianjurkan) untuk menulis sendiri penerjemah ini untuk bahasa yang sebelumnya tidak diterapkan. Selain itu, semua aturan standar kode-golf harus dipatuhi. Kiriman dalam kebanyakan bahasa akan dinilai dalam byte dalam pengkodean yang sudah ada sebelumnya (biasanya UTF-8).
Katalog
Cuplikan Stack di bagian bawah posting ini menghasilkan katalog dari jawaban a) sebagai daftar solusi terpendek per bahasa dan b) sebagai leaderboard keseluruhan.
Untuk memastikan bahwa jawaban Anda muncul, silakan mulai jawaban Anda dengan tajuk utama, menggunakan templat Penurunan harga berikut:
## Language Name, N bytes
di mana N
ukuran kiriman Anda. Jika Anda meningkatkan skor Anda, Anda bisa menyimpan skor lama di headline, dengan mencoretnya. Misalnya:
## Ruby, <s>104</s> <s>101</s> 96 bytes
Jika Anda ingin memasukkan beberapa angka dalam tajuk Anda (mis. Karena skor Anda adalah jumlah dari dua file atau Anda ingin membuat daftar hukuman penterjemah secara terpisah), pastikan bahwa skor sebenarnya adalah angka terakhir di tajuk:
## Perl, 43 + 2 (-p flag) = 45 bytes
Anda juga dapat membuat nama bahasa menjadi tautan yang kemudian akan muncul di cuplikan:
## [><>](http://esolangs.org/wiki/Fish), 121 bytes
sleep 1
aturan jawaban 5 berdasarkan: Anda harus menjamin satu, dan hanya satu, keluaran waktu per detik. !!Jawaban:
Minecraft 1.8.7, 7 + 8 = 15 blytes (bytes + blocks)
Hanya satu blok perintah yang terlibat:
Output menuju ke konsol klien seperti:
Sebagai bagian dari output normal.
Ini sistemnya:
xp
memberikan jumlah pengalaman yang ditentukan untuk pemain tertentu dengan sintaksxp <amount> <player>
. Saya cukup yakin ini adalah perintah terkecil yang memiliki output tunggal yang bisa saya dapatkan, sekarang.sumber
JavaScript, 32 byte
Menggunakan fakta bahwa setInterval mengevaluasi kode. Ini tidak disarankan, tetapi kapan itu menjadi perhatian dalam kode golf?
Date()
mengembalikan waktu dan tanggal saat ini dalam format seperti ini (dapat bervariasi per sistem).sumber
setInterval(alert,1e3,Date())
berhasil?Date()
hanya akan dievaluasi satu kali ketika Anda membuat intervalsh (+ watch), 11 byte
Naskah:
(tidak ada baris baru)
Keluaran:
Jumlah ruang tergantung pada lebar terminal.
Diuji pada Debian8 dan NetBSD7.
sumber
watch
adalah sebuah coreutil. Bahasa aslinya adalah bash / sh.Bash (distribution)
, bukanwatch
? @Doorknob-p
sakelar untuk tidak melanggar aturan. Anda harus menjamin satu, dan hanya satu, keluaran waktu per detik. !!Jepret ,
876 blok(Ya, saya mengubahnya di MS Paint karena saya terlalu malas untuk membuat tangkapan layar lain. Jadi apa? Setidaknya itu bisa dibaca.)
Klik skrip untuk menjalankan
jam 24 jam.
sumber
9:21:08
?Python 2, 47 byte
Tidak ada tautan daring karena ideone time out (huehuehue) sebelum mencetak apa pun.
Terima kasih kepada @xsot untuk
while[sleep(1)]
trik danctime
triknya.Mencetak tanggal dan waktu saat ini seperti ini:
Fri Nov 27 21:23:02 2015
sumber
sleep 1
berdasarkan aturan rehat 5: Anda harus menjamin satu, dan hanya satu, keluaran waktu per detik.sleep 1
menyebabkan utas saat ini tidur tepat satu detik. Itu sesuai dengan aturan.sleep(1)
dalam kedua solusi AppleScript dan solusi Vashy + bash-nya , itu jelas dapat diterima.Perl, Command Line, 24 byte
Ini harus dijalankan dari baris perintah, karena
perl -E'sleep(say)while$_=gmtime'
(di windows, gunakan tanda kutip ganda sebagai gantinya). Tanggal akan dikeluarkan bersamaan dengan waktu, yang tampaknya diizinkan .Perl, 25 byte
Dalam konteks skalar,
gmtime
akan mengembalikan string yang mirip denganSat Nov 28 10:23:05 2015
. Hasil dariprint
, selalu 1, digunakan sebagai parameter untuksleep
.do$0
digunakan untuk mengeksekusi skrip lagi, setelah timer selesai.sumber
{sleep say~~gmtime;redo}
.sleep 1
berdasarkan aturan rehat 5: Anda harus menjamin satu, dan hanya satu, keluaran waktu per detik .Javascript ES6, 43 39 byte
Bekerja dengan pengaturan waktu saya saat ini (yang belum berubah selama beberapa waktu, terima kasih), setidaknya.
4 byte disimpan oleh Conor O'Brien.
sumber
.toTimeString()
di Chrome dan FF.new Date()
denganDate()
Arcyóu , 27 byte
Saya harus menggabungkan dua fungsi baru untuk tantangan ini,
zz
danst
.pn
: Persis seperti Lispprogn
.zz
: Tautan langsung ke Pythontime.sleep
.st
: Tautan langsung ke Pythontime.strftime
.Biasanya, tanda kutip diperlukan di sekitar string format, tetapi karena tidak ada spasi, itu diurai sebagai simbol. Penerjemah mengevaluasi simbol yang tidak terdefinisi sebagai dirinya sendiri, jadi kami mendapatkan string.
sumber
Bash,
5131242120 byteTerima kasih kepada @quartata untuk beberapa komentar yang sangat membantu. Terima kasih @Dennis atas klarifikasi dan untuk memotong lebih banyak byte. Terima kasih @VoteToClose untuk mengklarifikasi aturan (yang ternyata saya buruk membaca) lebih lanjut mengurangi byte.
date
menampilkan tanggal lengkap dengan jam 24 jam.sleep 1
tidur sebentar.exec $0
loop skrip tanpa batas.sumber
true
dengan mengembalikansleep 1
karenasleep
a1
.date +%T;sleep 1;exec $0
sedikit lebih pendek. @quartata Nitpicking:sleep
memiliki kode keluar nol, itulah sebabnyawhile
terus.date
, jadi ini hanya 20 byte.Menembus 98, 53 byte
Catatan:
.
perintah mencetak spasi implisit di akhir.d
pada baris pertama menjadia
sumber
"EMIT"4(
pada awal program ini mengatakan penafsir untuk memuatTIME
sidik jari, yang memungkinkanH
,M
danS
petunjuk. (Tidak, itu tidak mengeluarkan angka 4).mIRC 7.49
2016 Bytessumber
say
Anda harus terhubung ke server dan kemudian bergabung dengan saluran. bijak lain Anda akan menggunakanecho
bukansay
. mIRC memiliki bahasa scripting sendiri mSL (bahasa scripting mIRC)AutoHotkey, 50 byte
Catatan:
sumber
x
.C (di Linux x64),
179177175168159 byteTidak Disatukan:
Hanya diuji, dan kemungkinan hanya berfungsi, linux x64 (x32 mungkin berfungsi, tetapi platform lain mungkin tidak).
Perbedaan utama antara program ini dan program C yang diposting lainnya adalah penggunaan panggilan fungsi linux-eksklusif, yang, sementara praktik yang mengerikan untuk perangkat lunak nyata, menyimpan beberapa byte ... jika Anda mengabaikan semua peringatan kompiler.
sumber
#include
dan<...>
. Juga, dapatkah Anda menggunakan1e6
bukan1000000
?#include
s. Itu tidak terlihat seperti usleep () menerima 1e6, meskipun - berdasarkan seberapa cepat ia mulai mengeluarkan stempel waktu, ia hanya menafsirkannya sebagai 1.%T
sebagai format format distrftime
.Jolf ,
1487 byteDicoret 14 adalah 1? Tidak, itu tidak akan pernah menangkap;)
Coba di sini! Klik jalankan, jangan klik pada hal lain ^ _ ^ halaman ini sangat ... eksplosif. Iya. Memperbaiki sistem keluaran dengan pembaruan.
(Saya menambahkan beberapa konstanta, dan
~1
untuk~4
menjadi kekuatan10
.)Penjelasan
sumber
Dyalog APL ,
27 1816 byteCobalah online!
⎕TS
YMD hmst':',¨
prepend: untuk setiap⋄
pernyataan baru⎕DL 1
tunggu sebentar dan kembalikan waktu tunggu yang sebenarnya; 1.0sesuatu detik≢
menghitung waktu tunggu yang sebenarnya, memberikan 1→
ke baris (1 = baris ini)sumber
Perl 6 , 29 byte
Cara yang tepat untuk melakukan ini:
Versi golf
Karena output tidak harus dibatasi hanya pada waktu, saya dapat membuatnya sedikit lebih pendek.
sumber
R, 38 byte
Ini menampilkan waktu saat ini dalam format berikut:
sumber
Powershell, 19 byte
sumber
for(){date;sleep 1}
PHP, 37 byte
Output waktu server yang diformat dan mengatur halaman untuk me-refresh setiap detik.
Tentu saja, itu tergantung pada koneksi internet Anda dan seberapa cepat repsonding server Anda :)
Demo
sumber
Warning: Cannot modify header information - headers already sent
<?=header('refresh:1').date('G:i:s');
harus bekerja dengan pengaturan penyangga keluaran.VBA, 69 Bytes
Mendapatkan Waktu itu mudah,
now()
Hanya mengeluarkan setiap 1 detik .... BANYAK lebih banyak kata.Ini adalah cara "Benar" untuk menunggu 1 detik di VBA. 78 Bytes
Atau jika Anda ingin Potong beberapa Sudut dan hanya menjadi benar 86% dari waktu cukup baik 63 Bytes
menambahkan satu SigFig membawa Anda ke 95% akurat dan sepertiga akan membuat Anda menjadi 99,36%
Jika Anda ingin mendapatkan metode di atas hingga 100%, maka Anda memerlukan 69 Bytes
(1/86400)
Semua metode ini akan tersandung pada lompatan kedua karena mereka tidak menunggu selama 1 detik, tetapi tunggu sampai 1 detik. Pada tengah malam ketika jam kembali satu jam, jam ini akan berhenti selama 1 jam dan kemudian mengambil di mana ia pergi.
VBA memungkinkan Metode Tidur tetapi byte couter Anda Hancur. 97 Bytes
sumber
JavaScript,
473835 bytePenjelasan
Terus memeriksa apakah waktu telah berubah maka
alert
jika sudah.sumber
+""
, karena tanpanew
,Date()
mengembalikan sebuah string.new
. Terima kasih telah menangkap itu!AppleScript,
5135 byteCukup jelas. Mencetak tanggal saat ini, yang berisi waktu, menunda satu detik, lalu melanjutkan.
sumber
𝔼𝕊𝕄𝕚𝕟, 13 karakter / 25 byte
Try it here(Firefox only).
Ini mengejutkan dibaca.
sumber
Dyalog APL, 36 byte
Tidak terlalu singkat kali ini.
Ini menghasilkan waktu 24 jam, yaitu:
Penjelasan:
{
...}1
: mendefinisikan suatu fungsi dan memanggilnya (argumennya diabaikan, tetapi kita membutuhkan fungsi tersebut untuk menyebutnya secara rekursif)⎕TS
: fungsi sistem yang mengembalikan tanggal dan waktu saat ini, dalam format tahun - bulan - hari - jam - menit - detik - milidetik . (⎕TS
= t ime s tamp)3↑3↓
: jatuhkan 3 item pertama (yaitu tahun - bulan - hari) dan kemudian ambil 3 item pertama yang tersisa (jam - menit - detik).'⊂:⊃,ZI2'⎕FMT
: memformat setiap angka sebagai bilangan bulat dua digit (I2
) dengan nol nol terkemuka (Z
), diawali dengan titik dua (⊂:⊃
). (Ini menghasilkan matriks.)∊
: Dapatkan semua elemen dalam matriks, dalam urutan baris. (Ini memberikan vektor, dalam hal ini string.)1↓
: jatuhkan karakter pertama (yang merupakan tambahan:
)⎕←
: output itu⎕DL 1
: lalu tunggu satu detik (⎕DL
= d e l ay)∇
: panggil fungsi secara rekursifsumber
{⎕←1↓∊':',¨⍕¨3↑3↓⎕TS⋄∇⎕DL 1}1
untuk 28 byte, sudah cukup sesuai OP .QBasic, 18 byte
sumber
Haskell,
989685 byteVersi alternatif menggunakan do notation:
Dapatkan waktu saat ini dengan
getCurrentTime
dariData.Time
perpustakaan, kemudian pipa itu keprint
, menunggu 1.000.000 mikrodetik (1 detik) dan memanggil dirinya sendiri.Terima kasih kepada nimi dan Mauris!
sumber
m@main=...>>m
selalu lebih pendek darimain=...>>main
threadDelay
khusus untuk GHC, Anda dapat mengimpornya dariGHC.Conc
Gelombang - 34
40byteSaya suka variabel bawaan:
Pasti ada beberapa
sleep
perintah dalam Batch dalam waktu dekat.sumber
ping ...
dengantimeout 1
. Juga jam tidak terlalu akurat saat digunakanping
. Lebih baik dengantimeout
;):A
dan gantigoto A
dengan%0
Python 3, 99 Bytes
Permintaan maaf jika format kode aneh, melakukan ini dari ipad. (jangan tanya). Saya tahu kode ini besar mengingat beberapa jawaban lain, tetapi saya belum melihat satu pun python jadi saya ingin menambahkannya.
sumber
True
dengan1
, dan jika Anda menempatkanprint
dansleep
garis-garis pada sama denganwhile
(dipisahkan dengan titik koma) menghemat spasi.Java,
300166137125124 byteHampirLebih dari separuhnya berkat VoteToClose, Paülo Ebermann dan janschweizer!Tidak Disatukan:
sumber
java.util.*
alih-alih duajava.util
impor,java.text.*
untuk alasan yang sama. Gunakanfor(;;)
untuk loop tak terbatas. GunakanString[]a
dalam deklarasi utama. Gunakaninterface A{static void main(...
, karena ini akan mempersingkat lebih. Anda dapat menggunakanException
lebihInterruptedException
, dan Anda dapat menggantinyaex
dengane
. Anda juga dapat menghapus semua teks di dalam tangkapan, karena ini tidak melakukan apa-apa.DateFormat
danCalendar
variabel secara bersamaan. Anda mengganti konten for forSystem.out.println(new SimpleDateFormat("HH:mm:ss").format(Calendar.getInstance().getTime()));try{Thread.sleep(1000);}catch(Exception e){}
.import java.util.*;import java.text.*;interface A{static void main(String[]a){for(;;){System.out.println(new SimpleDateFormat("HH:mm:ss").format(Calendar.getInstance().getTime()));try{Thread.sleep(1000);}catch(Exception e){}}}}
throws Exception
lebih pendek dari coba / tangkapPerl,
9981755140362927 bytesumber
gmtime
alih-alihlocaltime
.printf"%02d:%02d:%02d\n",(gmtime)[2,1,0]
gmtime."\n"
akan memaksa konteks skalar.."\n"
di golf: gunakan.$/
untuk menghemat 2 byte. Paling tidak, gunakan baris literal bukan\n
untuk menghemat 1 byte.