현재 시간 출력


49

도전

다음 방법 중 하나로 매초마다 한 번씩 현재 시간을 연속적으로 (인터럽트에 의해 취소 될 때까지) 출력해야합니다.

  • 24 시간 또는 AM / PM 형식이어야합니다.
    • 전자 인 경우 콜론으로 간격을 두어야합니다 (예 : 15:47:36).
    • 후자 인 경우 콜론으로 간격을두고 AM / PM을 따라야합니다 (예 : 오후 3:47:36).
  • 인터넷에서 가져올 수 있습니다.
  • 시스템 시간 일 수 있습니다.
  • 선택한 텍스트를 지원하는 자연스럽게 액세스 가능한 출력 형식을 출력해야합니다.
  • 출력에는 시간 외에 추가 정보가있을 수 있지만 초당 하나의 출력 만 보장 해야합니다 .
  • 연속 출력은 두 번째 간격을 유지해야합니다. 두 번째 출력이 변경 될 때까지 기다리면 괜찮습니다. 각 출력 사이에서 1 초 정도 기다리면 결과적으로 정확도가 떨어지더라도 완벽하게 수용됩니다.

이것은 카탈로그이기 때문에이 도전 이후에 만들어진 언어는 경쟁 할 수 있습니다. 제출물을 테스트하려면 통역사가 있어야합니다. 이전에 구현되지 않은 언어에 대해이 통역사를 직접 작성할 수 있습니다. 그 외에도 의 모든 표준 규칙을 준수해야합니다. 대부분의 언어로 된 제출물은 적절한 기존 인코딩 (보통 UTF-8)으로 바이트 단위로 채점됩니다.

목록

이 게시물의 맨 아래에있는 스택 스 니펫은 답변 a) 언어 당 가장 짧은 솔루션 목록으로, b) 전체 리더 보드로 카탈로그를 생성합니다.

답변이 표시되도록하려면 다음 마크 다운 템플릿을 사용하여 헤드 라인으로 답변을 시작하십시오.

## Language Name, N bytes

N제출물의 크기는 어디에 있습니까 ? 당신이 당신의 점수를 향상시킬 경우에, 당신은 할 수 있습니다 를 통해 눈에 띄는에 의해, 헤드 라인에 오래된 점수를 유지한다. 예를 들어 :

## Ruby, <s>104</s> <s>101</s> 96 bytes

헤더에 여러 숫자를 포함하려는 경우 (예 : 점수가 두 파일의 합계이거나 인터프리터 플래그 페널티를 별도로 나열하려는 경우) 실제 점수가 헤더 의 마지막 숫자 인지 확인하십시오 .

## Perl, 43 + 2 (-p flag) = 45 bytes

언어 이름을 링크로 만들면 스 니펫에 표시됩니다.

## [><>](http://esolangs.org/wiki/Fish), 121 bytes


"인터럽트에 의해 취소 될 때까지"는 프로그램을 닫는 것을 포함합니까, 아니면 프로그램으로 코딩 된 사이클을 정지시키기위한 메커니즘이 필요합니까?
user81655


1
경고 : 모든 sleep 1기본 답변 중단 규칙 5 : 초당 1 회만 출력해야합니다. !!
F. Hauri

1
F. Hauri : 어떻게 요? 규칙 6은 "각 출력 사이에 1 초 정도 기다리면 괜찮습니다."라고 말합니다.
YetiCGN

1
@Jasen 아니요, 그러나 "괜찮다"는 의미는 결국 시간 손실에 관계없이 대기 옵션이 여전히 유효 함을 의미합니다. 나는 당신을 위해 이것을 명확히했다.
애디슨 크럼

답변:


56

마인 크래프트 1.8.7, 7 + 8 = 15 블 레이트 (바이트 + 블록)

하나의 명령 블록 만 관련되었습니다.

XP 1 @ P

출력은 다음과 같이 클라이언트 콘솔로갑니다.

타임스

정상 출력의 일부로.

이것이 시스템입니다 :

시스템

xp구문을 사용하여 지정된 플레이어에게 지정된 양의 경험을 제공합니다 xp <amount> <player>. 나는 이것이 내가 얻을 수있는 단일 출력을 갖는 가장 작은 명령이라고 확신합니다.


3
응답 크기를 바이트 단위로 측정하지 않았으므로 "19 바이트"라고 말하지 마십시오.
feersum

6
@feersum 바이트를 말하는 이유가 있습니다. 이것은 현재 MC 에 대한 합의가장 가까운 것 입니다.
애디슨 크럼프

4
더 이상 사용되지 않는 숫자 코드를 사용할 수 있습니까?
코너 O'Brien

4
이 솔루션을 19 바이트 파일에 저장할 수있는 이전에 정의 된 인코딩이 없으므로 원하는대로 19 점을 제외하고 19 바이트가 아닌 경우이 스코어링 시스템을 사용하십시오.
feersum

1
@ CᴏɴᴏʀO'Bʀɪᴇɴ JSON으로 포장해야한다고 생각합니다. 1.6을 사용하지 않는 한, 그것은 실제로 다른 언어입니다.
애디슨 크럼프

17

자바 스크립트, 32 바이트

setInterval("alert(Date())",1e3)

setInterval이 코드를 평가 한다는 사실을 사용합니다 . 이것은 권장되지 않지만 언제 코드 골프에서 문제가 되었습니까?

Date() 현재 시간과 날짜를 이와 같은 형식으로 반환합니다 (시스템마다 다를 수 있음).

 Wed Jul 28 1993 14:39:07 GMT-0600 (PDT)

겠습니까 setInterval(alert,1e3,Date())대신 사용할 수 있습니까?
ETHproductions

@ETHproductions 항상 나를 위해 같은 시간을 보여줍니다
ev3commander

예제에서 @ETHproductions Date()는 간격을 만들 때 한 번만 평가됩니다
MMM

15

sh (+ watch), 11 바이트

스크립트:

watch -n1 .

(후행 줄 바꿈 없음)

산출:

Every 1,0s: . (SPACES) Sat Nov 28 19:07:51 2015

공백은 터미널 너비에 따라 다릅니다.

Debian8 및 NetBSD7에서 테스트되었습니다.


작업에 적합한 도구, +1
Addison Crump

잠깐, 이것이 프로그래밍 언어로 간주됩니까? 통역사에게 링크를 줄 수 있습니까?
애디슨 크럼프

@VoteToClose watch는 핵심 유틸리티 입니다. 실제 언어는 bash / sh입니다.
손잡이

그래서 ...이 안 Bash (distribution)하지 watch? @Doorknob
애디슨 크럼프

1
-p규칙 을 어 기지 않으 려면 스위치를 사용해야합니다. 초당 1 개의 출력 만 보장해야합니다. !!
F. Hauri

15

스냅 , 8 7 6 블록


(예, 다른 스크린 샷을 만들기에는 너무 게으 르기 때문에 MS Paint에서 변경했습니다. 적어도 무엇입니까? 읽을 수 있습니다.) 24 시간 시계
를 실행하려면 스크립트를 클릭하십시오
.


2
저는 항상 그래픽 프로그래밍 언어를 좋아합니다. : D +1
Addison Crump

어이 ev3! Snap / Scratch 포럼에서 당신을 알고 있습니다 : P 왜 스크래치 대신 Snap이 필요합니까?
anOKsquirrel

2
@anOKsquirrel 모든 조인 블록을 중첩 할 필요가 없기 때문에.
ev3commander

읽지 말아야합니까 9:21:08?
Luke

@Luke TI-BASIC 답변에서 알 수 있듯이 출력에서 ​​앞에 0이없는 시간은 괜찮습니다. 인간이 읽을 수 있고 시간이 무엇인지 분명합니다.
애디슨

11

파이썬 2, 47 바이트

from time import*
while[sleep(1)]:print ctime()

인쇄하기 전에 이데온이 시간 초과 (huehuehue)하여 온라인 링크가 없습니다.

while[sleep(1)]트릭과 트릭에 대한 @xsot에게 감사합니다 ctime.

현재 날짜와 시간을 다음과 같이 인쇄합니다. Fri Nov 27 21:23:02 2015


2
/ me 펑에서 박수를칩니다. 매우 재미있는 Mego. ; D
애디슨 크럼프

필자는 Python 3
jfs

sleep 1기본 답변 중단 규칙 5 : 초당 하나의 시간 출력 만 보장해야합니다.
F. Hauri

@ F.Hauri sleep 1는 현재 스레드를 정확히 1 초 동안 휴면 상태로 만듭니다. 규칙을 준수합니다.
Mego

1
@ F.Hauri 챌린지 작성자가 자신의 AppleScript 솔루션Vitsy + bash 솔루션sleep(1) 모두에 해당하는 것을 사용한다는 점을 고려하면 분명히 받아 들일 수 있습니다.
Mego

9

펄, 커맨드 라인, 24 바이트

sleep(say)while$_=gmtime

이 명령은 명령 줄에서 실행해야합니다 perl -E'sleep(say)while$_=gmtime'(창에서는 큰 따옴표를 대신 사용하십시오). 날짜가 시간과 함께 출력되며 허용 되는 것 같습니다 .


펄, 25 바이트

sleep print$/.gmtime;do$0

스칼라 컨텍스트에서 gmtime와 비슷한 문자열을 반환합니다 Sat Nov 28 10:23:05 2015. 의 결과는 print항상 1이며에 대한 매개 변수로 사용됩니다 sleep. do$0타이머가 완료된 후 스크립트를 다시 실행하는 데 사용됩니다.


2
@VoteToClose의 AppleScript 솔루션의견 에서 알 수 있듯이 시간을 추출 할 필요는 없습니다.
Mego

1
다른 24 바이트 솔루션 : {sleep say~~gmtime;redo}.
Denis Ibaev

sleep 1기반 답변 중단 규칙 5 : 초당 1 회만 출력해야합니다 .
F. Hauri

@ F.Hauri이 게시물이 작성된 후 규칙이 추가되었습니다.
primo

9

자바 스크립트 ES6, 43 39 바이트

setInterval(_=>console.log(Date()),1e3)

적어도 현재 시간 설정 (한동안 변경되지 않은, 감사합니다)으로 작동합니다.

Conor O'Brien이 4 바이트를 절약했습니다.


경고가 더 짧습니까?
Maltysen

8
@ Maltysen 많은 브라우저에서 다음 경고 창을 보려면 하나의 경고 창을 닫아야한다고 생각합니다.
flawr

나는 그것을 시도 @Maltysen, 어떻게 든 간격을 망쳐 놨
SuperJedi224

1
.toTimeString()Chrome과 FF 가 필요하지 않습니다 .

1
나는 당신이 바꿀 수 있다고 생각 new Date()Date()
코너 오브라이언

8

Arcyóu , 27 바이트

(@ t(pn(zz 1)(p(st %H:%M:%S

나는이 문제에 대한 두 가지 새로운 기능을 함께 kludge했다, zz하고 st.

pn: Lisp와 똑같습니다 progn.

zz: Python에 직접 링크 time.sleep.

st: Python에 직접 링크 time.strftime.

일반적으로 형식 문자열 주위에 따옴표가 필요하지만 공백이 없으므로 기호로 구문 분석됩니다. 인터프리터는 정의되지 않은 기호를 자체로 평가하므로 문자열을 얻습니다.


1
투표권이 있지만 투표권이 없습니다. +1; c 그리고 멋진 업데이트. : D
애디슨 크럼프

7

배쉬, 51 31 24 21 20 바이트

매우 유용한 의견을 주신 @quartata에게 감사드립니다. 설명과 더 많은 바이트를 잘라내어 @Dennis에게 감사합니다. 바이트를 더 줄이는 규칙 (명확히 읽기에 나쁘다)을 명확히 한 @VoteToClose에 감사드립니다.

date24 시간 제로 전체 날짜를 표시합니다. sleep 1잠을 잔다. exec $0스크립트를 무한 반복합니다.

date;sleep 1;exec $0

당신은 shebang이 필요하지 않습니다.
스파게티

또한, 나는 당신이 바꿀 수 있다고 생각 true과를 sleep 1이후로 sleep리턴한다 1.
스파게티

date +%T;sleep 1;exec $0조금 더 짧습니다. @quartata Nitpicking : sleep종료 코드가 0이므로 while계속됩니다.
Dennis

3
아 내가 바보
spaghetto

2
뒤에 공백이 필요하지 않으므로 date20 바이트입니다.
ThisSuitIsBlackNot

6

Befunge 98, 53 바이트

 v
v>"EMIT"4(>H.8,':,M.8,':,S:.8,d,
>:S-    !!k^

노트:

  1. 이 프로그램은 인쇄하는 숫자를 0으로 채우지 않습니다.
  2. 이 프로그램은 .명령이 암시 적 공백을 끝까지 인쇄 할 때 공백과 공백 문자를 인쇄합니다.
  3. 이 프로그램의 스택 크기는 1 초마다 증가하므로 결국 메모리가 부족합니다.
  4. 이 프로그램은 이전에 새 것을 인쇄 할 때 덮어 씁니다. 매번 새 줄에 인쇄하려면 d첫 번째 줄의을a

"TIME"문자열이 필요한 이유는 무엇입니까? 그것을 잡는 방법이 있습니까? (나는 이것에 대해 몰랐다)
애디슨 크럼프

"EMIT"4(프로그램의 시작 부분은로드 인터프리터를 말하고있다 TIME수 있도록 지문, H, M, 및 S지침을. (아니오, 숫자 4를 방출하지 않습니다).
pppery

최고 . 나는 심지어 많은 esolang이 이것을 할 것이라고 생각하지 않았습니다, +1.
애디슨

@VoteToClose Befunge 98에는 스택에서 팝된 임의의 프로그램을 실행하라는 명령도 있습니다.
pppery

1
이 언어를 배울 도망 ... 실례합니다
애디슨 크럼프

6

mIRC 7.49 20 16 바이트

/timer 0 1 $time

이것을 어디에서 테스트 할 수 있습니까?
애디슨 크럼

쉐어웨어 IRC 클라이언트 인 mIRC를 다운로드해야합니다. mirc.com 에서 다운로드 할 수도 있습니다. 위의 답변 say을 사용하려면 서버에 연결 한 다음 채널에 가입해야합니다. 다른 현명한 echo대신에 사용 합니다 say. mIRC는 자체 스크립팅 언어를 가지고 있습니다. mSL (mIRC 스크립팅 언어)
Do0msDay

5

오토 핫키, 50 바이트

x::Send,% a!=A_Sec? A_Hour ":" A_Min ":" a:=A_Sec:

노트:

  1. x연속 출력 을 유지해야합니다 .
  2. 손가락을 제거하여 x출력을 중단하고 종료하십시오.
  3. 출력은 24 시간 형식입니다.

2
몇 바이트를 더 추가하면 툴팁에 넣을 수 있으므로 사용자가 유지할 필요가 없습니다 x.
Michelfrancis Bustillos가

5

C (리눅스 64시) 179 177 175 168 159 바이트

#include<time.h>
#include<sys/time.h>
main(){struct timeval a;char b[9];for(;;){gettimeofday(&a,0);strftime(b,9,"%T",localtime(&a.tv_sec));puts(b);sleep(1);}}

언 골프 드 :

#include <time.h>
#include <sys/time.h>
main(){
  struct timeval a;
  char b[9];
  for(;;){
    gettimeofday(&a, 0);
    strftime(b, 9, "%T",localtime(&a.tv_sec));
    puts(b);
    sleep(1);
  }
}

Linux x64에서만 테스트되었으며 아마도 x64에서만 작동합니다 (x32는 작동하지만 다른 플랫폼에서는 작동하지 않을 수 있음).

이 프로그램과 다른 게시 된 C 프로그램의 주요 차이점은 리눅스 독점 함수 호출을 사용한다는 것입니다. 실제 소프트웨어에 대한 끔찍한 연습은 모든 컴파일러 경고를 무시하면 상당히 많은 바이트를 절약합니다.


PPCG에 오신 것을 환영합니다! 내가 잘못 해요 않는 한, 나는 당신이 사이의 공간을 제거 할 수 있다고 생각 #include하고 <...>. 또한 1e6대신에 사용할 수 1000000있습니까?
애디슨 크럼프

@VoteToClose 당신은의 공간에 대해 옳았습니다 #include. usleep ()이 1e6을 받아들이는 것처럼 보이지는 않습니다. 타임 스탬프를 얼마나 빨리 시작하는지에 따라 1로 해석됩니다.
Gamerdog

¯ \ _ (ツ) _ / ¯ 나는 C도 잘 모른다. 전문가들에게 알려 줄게 다시 한 번 환영합니다. : D
Addison Crump

아, 또 다른 것은-당신은 단지 시간 동안 문자열을자를 필요가 없으므로 필요한 시간 문자열이 있다면 전체 날짜 시간을 출력 할 수 있습니다.
애디슨 크럼프

2
%T에서 형식 사양으로 사용할 수 있습니다 strftime.
Mego

5

Jolf , 14 8 7 바이트

14을 넘어 서면 파업 1입니까? 아니, 그것은 결코 붙잡을 것이다;)

여기 사용해보십시오! 실행을 클릭하고 다른 것을 클릭하지 마십시오 ^ _ ^ 페이지가 매우 폭발적입니다. 예. 업데이트 된 고정 출력 시스템.

TaD#`~2

(나는, 일부 상수 추가 ~1~4의 거듭 제곱됩니다 10.)

설명

setInterval("alert(Date())",1000);
     T         a      D#   ` ~2

4
누군가 YAJSGV (아직 다른 JavaScript 골프 변형)를 작성해야합니다.
intrepidcoder

이것은 시간보다 더 많이 인쇄하는 것 같습니다.
Dennis


내 나쁜, 나는 당신과 Bash 답변 만 읽었습니다.
Dennis

@Dennis 문제가 없습니다 ^ _ ^
Conor O'Brien

5

Dyalog APL , 27 18 16 바이트

':',¨⎕TS⋄→≢⎕DL 1

온라인으로 사용해보십시오!

⎕TSYMD hmst
':',¨prepend : 각각의
새로운 문장
⎕DL 1에 1 초간 대기하고 실제 대기 시간을 반환합니다. 1.0something 초
실제 대기 시간을 집계하여 1
행으로 이동합니다 (1 =이 행)


4

펄 6 , 29 바이트

이를 수행 하는 올바른 방법 :

Supply.interval(1).tap: -> $ {
  say join ':',.hour,.minute,.whole-second given DateTime.now
}
await Promise.new; # halt this thread indefinitely
22:21:58
22:21:59
22:22:0
22:22:1
22:22:2
…

골프 버전

loop {sleep say join ':',now.polymod(1,60,60,24)[31]} # 56 bytes
3:59:26
3:59:27
3:59:28
3:59:29
…

출력을 시간으로 제한 할 필요가 없으므로 출력을 약간 짧게 만들 수 있습니다.

loop {sleep say DateTime.now} # 29 bytes
2015-11-27T22:18:10-06:00
2015-11-27T22:18:11-06:00
2015-11-27T22:18:12-06:00
2015-11-27T22:18:13-06:00
…

4

R, 38 바이트

repeat{Sys.sleep(1);print(Sys.time())}

현재 시간을 다음 형식으로 출력합니다.

[1] "2015-11-28 07:34:01 CET"

4

파워 쉘, 19 바이트

for(){date;sleep 1}

그 결과 출력에 hh : mm : ss 만 포함하면된다는 것을 알 수 있습니다.for(){date;sleep 1}
steve

4

PHP, 37 바이트

<?=date('G:i:s');header('refresh:1');

포맷 된 서버 시간을 출력하고 페이지를 1 초마다 새로 고치도록 설정합니다.

물론 인터넷 연결과 서버의 응답 속도에 달려 있습니다. :)

데모


아니, 더 상쾌하지 :Warning: Cannot modify header information - headers already sent
마티

@Martijn 나는 그것이 나를 위해 작동하기 때문에 무엇을 엉망으로 할 수 있는지 전혀 모른다 :)
nicael

의심의 이익으로 downvote를 제거하지만 이것은 정확히 한 번만 작동합니다. 두 개의 다른 일반 서버에서 시도했습니다.
Martijn

2
출력 버퍼링이 켜져 있는지 여부에 따라 다릅니다.
Andrea

<?=header('refresh:1').date('G:i:s');출력 비 퍼링 설정과 함께 작동해야합니다.
Jasen

4

VBA, 69 바이트

시간을 얻는 것은 쉽습니다. now()매 1 초마다 출력합니다.

이것은 VBA에서 1 초 동안 기다리는 "오른쪽"방식입니다. 78 바이트

Sub a():Debug.Print Now():Application.Wait Now()+TimeValue("0:0:1"):a:End Sub

또는 일부 모서리를 자르고 86 %의 시간만으로도 충분하다면 63 바이트
한 SigFig를 추가하면 95 % 정확하고 세 번째는 99.36 %가됩니다.

Sub a():Debug.Print Now():Application.Wait Now()+1e-5:a:End Sub

위의 방법을 100 %로 얻으려면 69 바이트 가 필요합니다 (1/86400)

Sub a():Debug.Print Now():Application.Wait Now()+(1/86400):a:End Sub

이 모든 방법은 윤초에 걸려 넘어 질 것입니다. 1 초 동안 기다리지 않지만 1 초까지 기다리십시오. 자정에 시계가 한 시간 뒤로 떨어지면이 시계는 1 시간 동안 정지 한 다음 중단 된 곳에서 픽업합니다.

VBA는 슬립 방법을 허용하지만 바이트 코터는 망가졌습니다. 97 바이트

Declare Sub Sleep Lib "kernel32" (ByVal k as Long)
Sub a():Debug.Print Now():Sleep(1e3):a:End Sub

3

자바 스크립트, 47 38 35 바이트

for(p=1;t=Date();p=t)t!=p&&alert(t)

설명

시간이 변경되었는지 지속적으로 확인한 후 시간이 변경되었는지 확인합니다 alert.

for(
  p=1;
  t=Date();
  p=t
)
  t!=p
    &&alert(t)

당신은 시간 문자열을 얻을 필요가 없습니다. ; D 어딘가에있는 한.
애디슨 크럼프

@VoteToClose 아 사실!
user81655

당신이 필요 생각하지 +""않고 같이 new, Date()문자열을 반환합니다.
ETHproductions

@ETHproductions 아, 그렇습니다 new. 그것을 잡아 주셔서 감사합니다!
user81655

3

AppleScript, 51 35 바이트

반복
현재 날짜 기록
지연 1
종료

꽤 당연하다. 시간이 포함 된 현재 날짜를 인쇄하고 1 초 지연 한 다음 계속합니다.


1
잠깐, 현재 날짜와 시간을 인쇄 할 수 있습니까?
스파게티

@quartata 예, 시간이 지속적으로 출력되고 출력이 보장 되는 한 시간과의 연결 은 괜찮습니다.
애디슨 크럼

지연 1은 무엇을합니까? 1000000000 ns 동안 일시 정지 하시겠습니까?
Jasen

@Jasen 맞습니다.
Addison Crump


3

Dyalog APL, 36 바이트

이번에는 그리 짧지 않습니다.

{⎕←1↓∊'⊂:⊃,ZI2'⎕FMT 3↑3↓⎕TS⋄∇⎕DL 1}1

24 시간을 출력합니다.

14:37:44
14:37:45
14:37:46
...

설명:

  • {... }1: 함수를 정의하고 호출합니다 (인수는 무시되지만 재귀 적으로 호출하려면 함수가 필요합니다)
    • ⎕TS: 년-월-일-시-분-초-밀리 초 형식으로 현재 날짜와 시간을 리턴하는 시스템 함수 . ( ⎕TS= t ime s tamp)
    • 3↑3↓: 처음 3 개 항목 (예 : 년-월-일)을 버리고 남은 처음 3 개 항목 (시-분-초)을 가져옵니다.
    • '⊂:⊃,ZI2'⎕FMT: 콜론 ( )으로 시작하는 앞에 I20 ( Z)이 있는 두 자리 정수 ( ) 로 각 숫자의 형식을 지정하십시오 ⊂:⊃. (이는 행렬이됩니다.)
    • : 행렬의 모든 요소를 ​​행 순서로 가져옵니다. (이 경우 벡터,이 경우 문자열이 제공됩니다.)
    • 1↓: 첫 번째 문자를 삭제합니다 (추가 :)
    • ⎕←: 출력
    • ⎕DL 1: 1 초 정도 기다립니다 ( ⎕DL= d e l ay)
    • : 재귀 적으로 함수 호출

{⎕←1↓∊':',¨⍕¨3↑3↓⎕TS⋄∇⎕DL 1}128 바이트의 경우 OP 당 충분 합니다.
Adám

새로운 규칙은 가비지 출력 및 임의의 공백을 허용하므로 많은 것을 제거 할 수 있습니다.
Adám

3

Q 기본, 18 바이트

?TIME$
SLEEP 1
RUN

3

하스켈, 98 96 85 바이트

import GHC.Conc
import Data.Time
m@main=getCurrentTime>>=print>>threadDelay(10^6)>>m

표기법을 사용하는 대체 버전 :

main = do
  time <- getCurrentTime
  print time
  threadDelay 1000000
  main

라이브러리 getCurrentTime에서 현재 시간을 가져 Data.Time와서로 파이프하고 print1,000,000 마이크로 초 (1 초) 동안 기다린 후 자체 호출합니다.

니미와 모리스에게 감사합니다!


m@main=...>>m항상 짧습니다main=...>>main
Lynn

또한 threadDelayGHC에 따라 다르므로 다음에서 가져올 수 있습니다. GHC.Conc
Lynn

3

배치-34 40 바이트

내장 변수를 좋아합니다.

:A                    //Set label A
echo %time%           //Print the time in 24 hour format
timeout 1    //Wait 1 second (thanks DavidPostill)
goto A                //Jump back to A and repeat

sleep곧 Batch에서 약간의 명령이 필요합니다 .


내장 수면이 없지만 시간 초과가 있습니다. 당신은 교체 할 수 있습니다 ping ...timeout 1. 또한 사용하면 시계가 매우 정확하지 않습니다 ping. timeout;)
DavidPostill

@DavidPostill 팁을 주셔서 감사합니다 .Windows에 그러한 명령이 있다는 것을 결코 알지 못했습니다. :)
GiantTree

@GiantTree 천만에요;)
DavidPostill

골프 : 제거 :A및 교체 goto A와 함께%0
stevefestl

3

파이썬 3, 99 바이트

ipad에서 코드를 이상한 형식으로 작성하면 사과합니다. (문의하지 마십시오). 나는이 코드가 다른 답변 중 일부를 고려할 때 크다는 것을 알고 있지만 아직 파이썬을 보지 못했기 때문에 그것을 추가하고 싶었습니다.

import time
import datetime
while(True):
 print(datetime.datetime.now().time())
 time.sleep(1)  

당신은 대체 할 수 True와 함께 1, 당신은 넣어 경우 printsleep는 AS 같은 줄에 줄을 while(세미콜론으로 구분) 그것은 당신에게 공백을 절약 할 수 있습니다.
undergroundmonorail

@undergroundmonorail True / 1 팁 주셔서 감사합니다. Java Dosent가 그렇게하기 때문에 나는 그것에 익숙하지 않습니다. 파이썬에도 세미콜론이 있다는 것을 몰랐습니다. 그로 살펴 보겠습니다
애쉬 윈 굽타에게

3

자바 300 166 137 125 124 바이트

VoteToClose, Paülo Ebermann 및 janschweizer 덕분에 거의 절반 이상이 줄었습니다!

interface A{static void main(String[]a)throws Exception{for(;;Thread.sleep(1000))System.out.println(new java.util.Date());}}

언 골프 드 :

interface A {
    static void main(String[] a) throws Exception {
        for (;; Thread.sleep(1000)) System.out.println(new java.util.Date());
    }
}

1
동일한 추론으로 java.util.*java.util수입 대신 수입을 단순화하십시오 java.text.*. for(;;)무한 루프에 사용하십시오 . String[]a기본 선언에 사용하십시오 . interface A{static void main(...더 짧아 지므로를 사용하십시오 . 당신이 사용할 수있는 Exception이상 InterruptedException, 당신은 대체 할 수 있습니다 exe. 어쨌든 아무것도하지 않기 때문에 캐치 내부의 모든 텍스트를 제거 할 수도 있습니다.
애디슨 크럼프

1
예, 인터페이스는 약간 별난 것입니다. 인터페이스 를 실행할 수 없도록 특별히 설계 되었다는 점을 고려하면 Java가 왜 그렇게 할 수 있을지 모르겠습니다.
애디슨 크럼프

1
두 가지 : 시간 문자열을 "HH : mm : ss"로 변경해야합니다. 현재 "Hour : Month : Second"의 형식을 지정하고 있습니다. 또한 루프를 사용하기 때문에 DateFormatCalendar변수 선언을 모두 제거 할 수 있습니다 . for 루프의 내용을로 바꿉니다 System.out.println(new SimpleDateFormat("HH:mm:ss").format(Calendar.getInstance().getTime()));try{Thread.sleep(1000);}catch(Exception e){}.
애디슨 크럼프

1
방금 제안한 모든 것들이 마무리되었습니다.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){}}}}
Addison Crump

1
throws Exception시도 / 캐치보다 짧은

3

펄, 99 81 75 51 40 36 29 27 바이트

sleep(print gmtime.$/);do$0

1
gmtime대신을 사용하여 줄일 수 있습니다 localtime.
브래드 길버트 b2gills

2
또한printf"%02d:%02d:%02d\n",(gmtime)[2,1,0]
브래드 길버트 b2gills

1
gmtime."\n"스칼라 컨텍스트를 강제합니다.
primo

1
."\n"골프에서 할 필요가 거의 없습니다 .$/. 2 바이트를 절약하기 위해 사용하십시오 . 최소한 \n1 바이트를 절약하는 대신 리터럴 개행을 사용하십시오 .
ThisSuitIsBlackNot
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.