आउटपुट वर्तमान समय


49

चुनौती

आपको वर्तमान समय का लगातार उत्पादन करना चाहिए (जब तक कि किसी रुकावट द्वारा रद्द न कर दिया जाए), प्रत्येक सेकंड में एक बार, निम्न में से किसी भी माध्यम से:

  • यह 24-घंटे या AM / PM प्रारूप में होना चाहिए।
    • यदि यह पूर्व है, तो इसे कॉलन (यानी 15:47:36) के साथ बाहर रखा जाना चाहिए।
    • यदि यह बाद की बात है, तो इसे कॉलोनों के साथ फैलाया जाना चाहिए और AM / PM का अनुसरण करना होगा (अर्थात 3:47:36 PM)
  • इसे इंटरनेट से खींचा जा सकता है।
  • यह सिस्टम का समय हो सकता है।
  • इसे आउटपुट के किसी भी स्वाभाविक रूप से सुलभ रूप से आउटपुट करना होगा जो आपके द्वारा चुने गए पाठ का समर्थन करता है।
  • इसमें समय के अलावा आउटपुट की अतिरिक्त जानकारी हो सकती है, लेकिन आपको एक, और केवल एक, प्रति सेकंड समय का आउटपुट की गारंटी देनी होगी
  • निरंतर आउटपुट एक दूसरे से अलग होना चाहिए - यदि आप आउटपुट के बीच दूसरे परिवर्तन तक इंतजार करना चुनते हैं, तो यह ठीक है। यदि आप सटीकता के अंतिम नुकसान के बावजूद, प्रत्येक आउटपुट के बीच एक सेकंड प्रतीक्षा करते हैं, तो यह पूरी तरह से स्वीकार्य है।

चूंकि यह एक कैटलॉग है, इस चुनौती के बाद बनाई गई भाषाओं को प्रतिस्पर्धा करने की अनुमति है। ध्यान दें कि एक दुभाषिया होना चाहिए ताकि सबमिशन का परीक्षण किया जा सके। यह अनुमति दी जाती है (और यहां तक ​​कि प्रोत्साहित किया जाता है) कि इस दुभाषिया को पहले से बिना पढ़ी हुई भाषा के लिए स्वयं लिखें। इसके अलावा, सभी मानक नियमों का पालन ​​करना चाहिए। अधिकांश भाषाओं में प्रस्तुतियाँ बाइट्स में एक उपयुक्त preexisting एन्कोडिंग (आमतौर पर UTF-8) में बनाई जाएंगी।

सूची

इस पोस्ट के निचले हिस्से में स्टैक स्निपेट उत्तर से सूची बनाता है) क) प्रति भाषा में सबसे छोटे समाधान की सूची के रूप में और बी) एक समग्र लीडरबोर्ड के रूप में।

यह सुनिश्चित करने के लिए कि आपका उत्तर दिख रहा है, कृपया अपना उत्तर शीर्षक मार्कडाउन टेम्पलेट का उपयोग करके शीर्षक के साथ शुरू करें:

## 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


क्या "जब तक एक बाधा को रद्द नहीं किया जाता है" में कार्यक्रम को बंद करना शामिल है या इसमें चक्र को कोडित करने से रोकने के लिए एक तंत्र की आवश्यकता है?
2381 पर user81655


1
चेतावनी: सभी sleep 1आधारित उत्तर विराम नियम 5: आपको एक, और केवल एक, प्रति सेकंड समय का आउटपुट की गारंटी देनी चाहिए। !!
एफ। होरी

1
एफ। हौरी: ऐसा कैसे? नियम 6 कहता है "यदि आप प्रत्येक आउटपुट के बीच एक सेकंड प्रतीक्षा करते हैं, तो यह ठीक है।"
यतिसीजीएन

1
@ जासेन नहीं, लेकिन "यह ठीक है" का अर्थ यह है कि प्रतीक्षा विकल्प अभी भी वैध है, भले ही अंतिम समय का नुकसान हो। मैंने आपके लिए इसे स्पष्ट किया है।
Addison Crump

जवाबों:


56

Minecraft 1.8.7, 7 + 8 = 15 blytes (बाइट्स + ब्लॉक)

केवल एक कमांड ब्लॉक शामिल है:

xp 1 @ पी

आउटपुट क्लाइंट कंसोल पर जाता है जैसे:

बार

सामान्य आउटपुट के हिस्से के रूप में।

यह प्रणाली है:

प्रणाली

xpसिंटैक्स के साथ एक निर्दिष्ट खिलाड़ी को अनुभव की एक निर्दिष्ट राशि देता है xp <amount> <player>। मुझे पूरा यकीन है कि यह सबसे छोटी कमांड है जिसमें एकवचन आउटपुट है जो मुझे अब मिल सकता है।


3
"19 बाइट्स" न कहें क्योंकि आपने बाइट में अपना उत्तर आकार नहीं मापा था।
feersum

6
@ Faersum मुझे बाइट्स कहने का एक कारण है, मुझ पर विश्वास करो। एमसी के लिए आम सहमति के रूप में यह अब तक की सबसे करीबी चीज है
एडिसन क्रम्प

4
आप पदावनत संख्या कोड का उपयोग नहीं कर सकते हैं?
कॉनर ओ'ब्रायन

4
इस स्कोरिंग प्रणाली का उपयोग करें यदि आप चाहते हैं, 19 whatevers, लेकिन यह 19 बाइट्स नहीं है, क्योंकि पहले से परिभाषित एन्कोडिंग नहीं है जो आपको इस समाधान को 19-बाइट फ़ाइल में संग्रहीत करने की अनुमति देता है।
फेर्सम

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

Date()जब आप अंतराल बनाते हैं तो @ETHproductions का केवल एक बार मूल्यांकन किया जाएगा
MMM

15

श (+ घड़ी), ११ बाइट्स

स्क्रिप्ट:

watch -n1 .

(कोई अनुगामी न्यूलाइन नहीं)

आउटपुट:

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

रिक्त स्थान की मात्रा टर्मिनल चौड़ाई पर निर्भर करती है।

डेबियन 8 और नेटबीएसडी 7 पर परीक्षण किया गया।


नौकरी के लिए सही उपकरण, +1
Addison Crump

रुको, क्या यह एक प्रोग्रामिंग भाषा के रूप में गिना जाता है? क्या आप मुझे दुभाषिया का लिंक दे सकते हैं?
Addison Crump

@VoteToClose watchएक कोरूटिल है। असली भाषा बाश / श है।
दरवाज़े

तो ... यह नहीं होना चाहिए Bash (distribution), नहीं watch? @ डॉर्कनोब
Addison Crump

1
हम्म आपको -pउस नियम को तोड़ने के लिए स्विच का उपयोग करना होगा जिसे आप एक की गारंटी देते हैं, और केवल एक, प्रति सेकंड समय का उत्पादन। !!
एफ। होरी

15

स्नैप , 8 7 6 ब्लॉक


(हां, मैंने इसे MS Paint में बदल दिया क्योंकि मैं एक और स्क्रीनशॉट बनाने के लिए बहुत आलसी था। तो क्या? कम से कम यह पठनीय है।) 24 घंटे की घड़ी
चलाने के लिए स्क्रिप्ट पर क्लिक करें


2
मैं हमेशा ग्राफिकल प्रोग्रामिंग भाषाओं से प्यार करता हूं। : D +1
Addison Crump

अरे अरे ev3! मैं आपको स्नैप / स्क्रैच मंचों से जानता हूं: पी आपको स्क्रैच के बजाय स्नैप की आवश्यकता क्यों है, बिल्कुल?
अगस्त

2
@anOKsquirrel क्योंकि मुझे उन सभी ब्लॉक में शामिल होने की जरूरत नहीं है।
14

पढ़ना चाहिए कि नहीं 9:21:08?
ल्यूक

@ ल्यूक जैसा कि टीआई-बेसिक उत्तर द्वारा दिखाया गया है, आउटपुट में अग्रणी शून्य के बिना समय ठीक है। यह मानवीय पठनीय और स्पष्ट है कि समय क्या है।
एडिसन क्रम्प

11

पायथन 2, 47 बाइट्स

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

कोई भी ऑनलाइन लिंक नहीं क्योंकि कुछ भी छापने से पहले विचारधारा कई बार बाहर निकल जाती है।

while[sleep(1)]ट्रिक और ट्रिक के लिए @xsot को धन्यवाद ctime

वर्तमान दिनांक और समय को प्रिंट करता है जैसे: Fri Nov 27 21:23:02 2015


2
/ मुझे वाक्य पर धीरे-धीरे थप्पड़ पड़ता है। बहुत मज़ेदार मीगो। ; डी
एडिसन क्रम्प


sleep 1आधारित उत्तर विराम नियम 5: आपको एक, और केवल एक, प्रति सेकंड समय का आउटपुट की गारंटी देनी चाहिए।
एफ। होरी

@ F.Hauri sleep 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, के लिए पैरामीटर के रूप में उपयोग किया जाता है sleepdo$0टाइमर समाप्त होने के बाद स्क्रिप्ट को फिर से निष्पादित करने के लिए उपयोग किया जाता है।


2
जैसा कि @ VoteToClose के AppleScript समाधान और टिप्पणी से स्पष्ट है , आपको समय निकालने की आवश्यकता नहीं है।
Mego

1
एक और 24-बाइट समाधान {sleep say~~gmtime;redo}:।
डेनिस इबाएव

sleep 1आधारित उत्तर विराम नियम 5: आपको एक, और केवल एक, प्रति सेकंड समय का आउटपुट की गारंटी देनी चाहिए
एफ। होरी

@ F.Hauri को इस पद के बाद नियम जोड़ा गया था।
प्रिमो

9

जावास्क्रिप्ट ईएस 6, 43 39 बाइट्स

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

मेरी वर्तमान समय सेटिंग्स के साथ काम करता है (जो कुछ समय के लिए नहीं बदला गया है, धन्यवाद), कम से कम।

कॉनर ओ'ब्रायन द्वारा बचाए गए 4 बाइट्स।


सतर्क है?
माल्टीसेन

8
@ मैलेटसेन मुझे लगता है कि कई ब्राउज़रों में आपको अगले एक को देखने के लिए एक अलर्ट विंडो बंद करनी होगी।
दोष नोव

@ मैल्टीसेन मैंने इसे आजमाया, किसी तरह इंटरवल को गड़बड़ कर दिया
SuperJedi224

1
आपको .toTimeString()Chrome और FF की आवश्यकता नहीं है ।
बॉब

1
मुझे लगता है कि आप की जगह ले सकता new Date()साथDate()
कोनोर ओ ब्रायन

8

अरसीओउ , 27 बाइट्स

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

मैं इस चुनौती के लिए दो नए कार्यों को एक साथ kludge किया था, zzऔर st

pn: बिल्कुल लिस्प की तरह progn

zz: पायथन का सीधा लिंक time.sleep

st: पायथन का सीधा लिंक time.strftime

आम तौर पर, प्रारूप स्ट्रिंग के आसपास उद्धरण आवश्यक होगा, लेकिन चूंकि कोई स्थान नहीं है, इसलिए इसे प्रतीक के रूप में पार्स किया गया है। दुभाषिया स्वयं के रूप में अपरिभाषित प्रतीकों का मूल्यांकन करता है, इसलिए हमें एक स्ट्रिंग मिलती है।


1
मैं वोट डालूंगा, लेकिन मेरे पास कोई वोट नहीं बचा है। +1; c और अच्छा अपडेट। : डी
एडिसन क्रम्प 20

7

बैश, 51 31 24 21 20 बाइट्स

कुछ बहुत ही उपयोगी टिप्पणियों के लिए @quartata का धन्यवाद। स्पष्टीकरण के लिए और इससे भी अधिक बाइट्स को काटने के लिए @Dennis धन्यवाद। नियमों को स्पष्ट करने के लिए @VoteToClose को धन्यवाद दें (जो कि स्पष्ट रूप से मैं पढ़ने में बुरा हूं) बाइट्स को कम करता हूं।

date24 घंटे की घड़ी के साथ पूर्ण तिथि प्रदर्शित करता है। sleep 1एक सेकंड के लिए सोता है। exec $0स्क्रिप्ट को अनंत रूप से बंद करता है।

date;sleep 1;exec $0

आपको शेबंग की आवश्यकता नहीं है।
एक स्पेगेटो

इसके अलावा, मुझे लगता है कि आप की जगह ले सकता trueके साथ sleep 1के बाद से sleepरिटर्न एक 1
एक स्पेगेटो

date +%T;sleep 1;exec $0थोड़ा छोटा है। @quartata Nitpicking: sleepका निकास कोड शून्य है, यही कारण है कि whileजारी है।
डेनिस

3
ओह, मैं एक बेवकूफ हूँ
एक स्पेगेटी

2
आपको इसके बाद स्थान की आवश्यकता नहीं है date, इसलिए यह केवल 20 बाइट्स है।
ThisSuitIsBlackNot

6

Befunge 98, 53 बाइट्स

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

टिप्पणियाँ:

  1. यह प्रोग्राम उस संख्या को शून्य-पैड नहीं करता है जिसे वह प्रिंट करता है।
  2. यह प्रोग्राम हर नंबर के बाद एक स्पेस और फिर एक बैकस्पेस कैरेक्टर को .प्रिंट करता है, क्योंकि कमांड अंत में एक निहित स्पेस प्रिंट करता है।
  3. इस कार्यक्रम में स्टैक का आकार हर सेकंड बढ़ता है, और इस प्रकार यह अंततः मेमोरी से बाहर हो जाएगा।
  4. यह कार्यक्रम पिछली बार ओवरराइट करेगा जब यह एक नया प्रिंट करता है। इसे हर बार एक नई लाइन पर प्रिंट करने के लिए, dपहली लाइन पर a में बदलेंa

"टाइम" स्ट्रिंग क्यों आवश्यक है? वहाँ किसी तरह से यह इसे हथियाने है? (मैं इस बारे में नहीं जानता था)
Addison Crump

"EMIT"4(कार्यक्रम की शुरुआत में लोड करने के लिए कह रहा है दुभाषिया TIMEअंगुली की छाप है, जो सक्षम बनाता है H, Mऔर Sनिर्देश। (नहीं, यह संख्या 4 का उत्सर्जन नहीं करता है)।
पिपरी

यह कमाल है । मैंने कभी सोचा भी नहीं था कि कई एसोलैंग ऐसा करेंगे, +1।
एडिसन क्रम्प

@VoteToClose Befunge 98 में भी स्टैक से पॉप अप किए गए एक आर्बरिटिव प्रोग्राम को निष्पादित करने का निर्देश है।
पपीरी

1
इस भाषा को सीखने के लिए भागते हैं मुझे माफ करना ...
Addison Crump

6

mIRC 7.49 20 16 बाइट्स

/timer 0 1 $time

हम इसका परीक्षण कहां कर सकते हैं?
एडिसन क्रम्प

आपको 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
मिशेलफ्रांसिस बस्टिलोस

5

C (लिनक्स x64 पर), 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);}}

Ungolfed:

#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 (x32 काम कर सकते हैं, लेकिन अन्य प्लेटफार्मों शायद नहीं होगा)।

इस कार्यक्रम और अन्य पोस्ट किए गए सी प्रोग्राम के बीच मुख्य अंतर लिनक्स-एक्सक्लूसिव फंक्शन कॉल्स का उपयोग है, जो वास्तविक सॉफ्टवेयर के लिए भयानक अभ्यास करते हैं, काफी कुछ बाइट्स बचाता है ... यदि आप सभी कंपाइलर चेतावनियों को अनदेखा करते हैं।


PPCG में आपका स्वागत है! जब तक मैं गलत नहीं हूँ, मुझे विश्वास है कि आप #includeऔर के बीच की जगह को हटा सकते हैं <...>। इसके अलावा, आप के 1e6बजाय उपयोग कर सकते हैं 1000000?
Addison Crump

@VoteToClose आप #includeएस में रिक्त स्थान के बारे में सही थे । यह usleep की तरह नहीं दिखता है () 1e6 को स्वीकार करता है, हालांकि - कितनी तेजी से यह टाइमस्टैम्प से बाहर थूकना शुरू करता है इसके आधार पर इसे केवल 1 के रूप में व्याख्या करता है
Gamerdog

¯ \ _ (ツ) _ / really मुझे वास्तव में C, या तो नहीं पता है। मैं उस पर पेशेवरों को दूँगा। एक बार फिर से आपका स्वागत है। : D
Addison Crump

आह, एक और बात - आपको केवल समय के लिए स्ट्रिंग में कटौती करने की आवश्यकता नहीं है, इसलिए आप पूरी तारीख के समय का उत्पादन कर सकते हैं, बशर्ते इसमें समय की आवश्यकता हो।
Addison Crump

2
आप %Tप्रारूप युक्ति के रूप में उपयोग कर सकते हैं strftime
मेगो

5

जोल्फ , 14 8 7 बाइट्स

पार किया गया 14 एक धारीदार 1 है? Naw, यह कभी नहीं पकड़ेगा;)

यहाँ कोशिश करो! रन पर क्लिक करें, किसी और चीज़ पर क्लिक न करें ^ _ ^ पृष्ठ अत्यधिक ... विस्फोटक है। हाँ। अपडेट के साथ फिक्स्ड आउटपुट सिस्टम।

TaD#`~2

(मैंने कुछ स्थिरांक जोड़े, और ~1की ~4शक्तियाँ हैं 10)

व्याख्या

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

4
किसी को YAJSGV (फिर भी एक और जावास्क्रिप्ट गोल्फिंग वेरिएंट) बनाना चाहिए।
इंट्रेपिडकोडर 3

यह केवल समय की तुलना में बहुत अधिक प्रिंट करता है।
डेनिस

1
@ डेनिस ने मान लिया कि अन्य समाधानों के
कॉनर ओ'ब्रायन

मेरा बुरा, मैं केवल तुम्हारा और बैश जवाब पढ़ा था।
डेनिस

@ डेनिस कोई समस्या नहीं ^ _ ^
कॉनर ओ'ब्रायन

5

दिल्लोग एपीएल , 27 18 16 बाइट्स

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

इसे ऑनलाइन आज़माएं!

⎕TSYMD hmst
':',¨prepend: प्रत्येक
नए कथन के लिए
⎕DL 1एक सेकंड प्रतीक्षा करें और वास्तविक प्रतीक्षा समय लौटाएं; 1.0 सेकेंड का
समय वास्तविक प्रतीक्षा समय को पूरा करता है, 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

पॉवरशेल, 19 बाइट्स

for(){date;sleep 1}

के रूप में यह बाद से बताया गया है उत्पादन केवल hh शामिल करने के लिए की जरूरत है: mm: ss आप को कम कर सकते हैंfor(){date;sleep 1}
स्टीव

4

PHP, 37 बाइट्स

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

स्वरूपित सर्वर समय को आउटपुट करता है और हर सेकंड को रीफ्रेश करने के लिए पेज सेट करता है।

बेशक, यह आपके इंटरनेट कनेक्शन पर निर्भर करता है और आपका सर्वर कितनी तेजी से फिर से काम कर रहा है :)

डेमो


नहीं, कोई ताज़ा नहीं:Warning: Cannot modify header information - headers already sent
Martijn


मैं संदेह के लाभ के रूप में डाउनवोट को हटा दूंगा, लेकिन यह मेरे लिए ठीक एक बार काम करता है। दो अलग-अलग नियमित सर्वरों पर कोशिश की।
मार्टिन

2
निर्भर करता है कि क्या आपके पास आउटपुट बफ़रिंग चालू है।
एंड्रिया

<?=header('refresh:1').date('G:i:s');या तो आउटपुट बफ़रिंग सेटिंग के साथ काम करना चाहिए।
जैसन

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 बाइट्स
को एक सिगफिग में जोड़कर आप 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 घंटे के लिए रुक जाती है और फिर इसे वहीं छोड़ देती है, जहां इसे छोड़ा गया था।

वीबीए स्लीप मेथड के लिए अनुमति देता है लेकिन आपका बाइट कप्टर बर्बाद होता है। 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)

तुम सिर्फ समय स्ट्रिंग पाने के लिए नहीं है। ; डी जब तक यह वहाँ कहीं है।
एडिसन क्रम्प

@VoteToClose ओह सच!
user81655

लगता है कि आप की जरूरत है +"", के रूप में बिना new, Date()एक स्ट्रिंग देता है।
ETHproductions

@ETHproductions आह, हाँ जब इसे इस्तेमाल किया गया था तब से वहाँ छोड़ दिया गया था new। उस पकड़ने के लिए धन्यवाद!
user81655

3

AppleScript, 51 35 बाइट्स

दोहराना
वर्तमान तिथि लॉग करें
देरी 1
समाप्त

बहुत खतरा स्पष्ट है। वर्तमान दिनांक प्रिंट करता है, जिसमें समय होता है, एक सेकंड में देरी करता है, फिर जारी रहता है।


1
तो रुको, क्या यह वर्तमान तिथि के साथ-साथ समय का प्रिंट आउट लेने की अनुमति है?
एक स्पेगेटो

@quartata हाँ, समय के साथ कोई भी तालमेल, जब तक कि समय लगातार आउटपुट है और आउटपुट होने की गारंटी है, ठीक है।
Addison Crump

देरी 1 क्या करता है? 1000000000 एनएस के लिए रोकें?
जैसन

@ जेसेन यह सही है।
Addison Crump

3

S, 13 चार्ट / 25 बाइट्स

Ĥ⇀ôᶁ⬮+⬬),1𝕜)

Try it here(Firefox only).

यह आश्चर्यजनक रूप से पठनीय है।


4
जब आप "आश्चर्यजनक रूप से पठनीय" कहते हैं, तो आप जानते हैं कि आप एक मनोरंजक भाषा के साथ काम कर रहे हैं। +1
Addison Crump

3

Dyalog एपीएल, 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: प्रत्येक संख्या को दो अंकों के पूर्णांक ( I2) के रूप में अग्रणी शून्य ( Z), एक उपनिवेश द्वारा उपसर्ग ( ) के रूप में प्रारूपित करें ⊂:⊃। (यह एक मैट्रिक्स में परिणाम है।)
    • : मैट्रिक्स के सभी तत्वों को पंक्ति क्रम में प्राप्त करें। (यह एक वेक्टर देता है, इस मामले में एक स्ट्रिंग है।)
    • 1↓: पहला पात्र छोड़ें (जो एक अतिरिक्त है :)
    • ⎕←: इसे आउटपुट करें
    • ⎕DL 1: तो एक सेकंड रुको ( ⎕DL= d e l ay)
    • : फ़ंक्शन को पुनरावर्ती रूप से कॉल करें

{⎕←1↓∊':',¨⍕¨3↑3↓⎕TS⋄∇⎕DL 1}128 बाइट्स के लिए, ओपी के अनुसार पर्याप्त है ।
Adám

नए नियम कचरा उत्पादन और यादृच्छिक स्थानों की अनुमति देते हैं, जिससे आप बहुत कुछ छुटकारा पा सकते हैं।
22


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है, फिर इसे पाइप करता है print, 1,000,000 माइक्रोसेकंड (1 सेकंड) इंतजार करता है और खुद को कॉल करता है।

नमि और मौरिस को धन्यवाद!


m@main=...>>mहमेशा से छोटा हैmain=...>>main
लिन

इसके अलावा, चूंकि threadDelayGHC- विशिष्ट है, इसलिए आप इसे आयात कर सकते हैं GHC.Conc
लिन

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जल्द ही बैच में कुछ कमांड होने की आवश्यकता है ।


कोई भी नींद पूरी नहीं होती है लेकिन समय पर नींद आती है । आप के ping ...साथ बदल सकते हैं timeout 1। उपयोग करते समय भी घड़ी बहुत सटीक नहीं है ping। यह बेहतर है timeout;)
डेविडपॉस्टिल

@DavidPostill टिप के लिए धन्यवाद, मुझे कभी नहीं पता था कि विंडोज में ऐसी कोई कमांड थी। :)
विशालकाय

@GiantTree आपका बहुत स्वागत है;)
DavidPostill

गोल्फ: हटाने :Aऔर बदलने के goto Aसाथ%0
stevefestl

3

पायथन 3, 99 बाइट्स

माफी अगर यह एक आईपीएड से ऐसा करते हुए कोड अजीब प्रारूप करता है। (मत पूछो)। मुझे पता है कि यह कोड कुछ अन्य जवाबों को देखते हुए बड़ा है, लेकिन मैंने एक अजगर को अभी तक नहीं देखा था इसलिए मैं इसे जोड़ना चाहता था।

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

आप बदल सकते हैं Trueके साथ 1, और यदि आप कर दिया printऔर sleepके रूप में एक ही लाइन पर लाइनों while(अर्धविराम से अलग किए गए) यह आप सफेद स्थान को बचाता है।
अंडरग्राउंडोरेल

ट्रू / 1 टिप के लिए @undergroundmonorail ठीक धन्यवाद। मैं उस के लिए इस्तेमाल नहीं कर रहा हूँ क्योंकि जावा डॉसेंट ऐसा करते हैं। मुझे नहीं पता था कि पायथन में अर्धविराम थे। मैं उस पर गौर करूंगा
अश्विन गुप्ता

3

जावा, 300 166 137 125 124 बाइट्स

VoteToClose, Palolo Ebermann और janschweizer के लिए धन्यवाद की तुलना में लगभग अधिक!

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

Ungolfed:

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है, और आप की जगह ले सकता exसाथ e। आप कैच के अंदर के सभी टेक्स्ट को हटा सकते हैं, क्योंकि इससे कुछ भी नहीं होता है।
Addison Crump

1
हाँ, इंटरफ़ेस की बात थोड़ी निराला है - मुझे नहीं पता कि जावा ऐसा क्यों होने देता है, यह देखते हुए कि इंटरफेस विशेष रूप से असुविधाजनक होने के लिए डिज़ाइन किए गए हैं।
Addison Crump

1
दो चीजें: आपको "HH: mm: ss" समय स्ट्रिंग बदलने की आवश्यकता है - अब तक, आप "घंटा: महीना: दूसरा" प्रारूपित कर रहे हैं। इसके अलावा, चूंकि आप एक लूप का उपयोग कर रहे हैं, इसलिए आप सभी को एक साथ हटा सकते हैं DateFormatऔर Calendarचर घोषणाओं से छुटकारा पा सकते हैं। आप के लिए लूप की सामग्री को बदलें System.out.println(new SimpleDateFormat("HH:mm:ss").format(Calendar.getInstance().getTime()));try{Thread.sleep(1000);}catch(Exception e){}
Addison Crump

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
ब्रैड गिलबर्ट ने

2
भी printf"%02d:%02d:%02d\n",(gmtime)[2,1,0]
ब्रैड गिल्बर्ट b2gills 3

1
gmtime."\n"एक अदिश संदर्भ को मजबूर करेगा।
प्रिमो

1
आपको ."\n"गोल्फ में लगभग कभी नहीं करना चाहिए : .$/2 बाइट्स को बचाने के लिए उपयोग करें। बहुत कम से कम, \n1 बाइट बचाने के बजाय एक शाब्दिक नई रेखा का उपयोग करें ।
ThisSuitIsBlackNot
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.