100 दिन की उलटी गिनती


25

किसी घटना से 100 दिन पहले उलटी गिनती शुरू करना आम बात है, शायद हमारे आधार 10 प्रणाली की वजह से। इसके उदाहरण हर जगह मिल सकते हैं:

  • आपके जन्मदिन तक 100 दिन
  • शादी तक 100 दिन
  • चुनाव तक 100 दिन
  • हमारे स्नातक होने तक 100 दिन
  • उसकी नियत तारीख तक 100 दिन
  • फुटबॉल सीजन तक 100 दिन
  • 100 दिन जब तक आप फैनेटिक बिल्ला नहीं मिलते

आपको चित्र मिल जाएगा। ऐसा लगता है कि किसी घटना के 100 वें दिन पहले वास्तविक घटना के बाद दूसरा स्थान होता है। इसलिए इस चुनौती के लिए, मुझे यह जानना होगा कि 100 दिनों में क्या तारीख होगी, ताकि मैं यह निर्धारित कर सकूं कि मुझे क्या गिनना शुरू करना चाहिए।

इनपुट

कोई निवेश नहीं

उत्पादन

मानक ग्रेगोरियन कैलेंडर (लीप वर्षों के लिए खाते में सुनिश्चित करें) के आधार पर वर्तमान तिथि से 100 दिन की तारीख । आउटपुट के रूप में लंबे दिनांक स्वरूप के रूप में लचीला है मानव पढ़ने में सक्षम है (जैसे 2016-10-8, 10-8-16, [ 2016, 10, 8 ], 10/8/16 12:00:00 AM)।

जीतना

कोड गोल्फ: बाइट्स में सबसे छोटा कोड


उदाहरण

आज से 100 दिन (अप्रैल 5, 2017) शुक्रवार, 14 जुलाई 2017 है।

Current                Future
-------                ------
01/01/2001 +100        04/11/2001
01/01/2004 +100        04/10/2004
01/01/1900 +100        04/11/1900
01/01/2000 +100        04/10/2000

07/04/2017 +100        10/12/2017
10/31/2017 +100        02/08/2018
12/25/2017 +100        04/04/2018

08/29/1941 +100        12/07/1941
06/03/2001 +100        09/11/2001

2
क्या मैं आउटपुट में वर्तमान समय जोड़ सकता हूं?
टाइटस

1
@Titus नहीं, बस भविष्य की तारीख
NonlinearFruit

1
अधिकांश उत्तरों में अब एक तिथि और समय शामिल है, मुझे लगता है कि इसकी अनुमति दी जानी चाहिए।
GB

1
@ जीबी जब आप भविष्य की तारीख को आउटपुट करते हैं, तो प्रारूप लचीला होता है (टाइमस्टैम्प को शामिल किया जा सकता है) जब तक यह मानव पठनीय है। हालांकि, वर्तमान समय / तारीख स्वीकार्य नहीं है।
NonlinearFruit

5
" हमारे बेस 10 सिस्टम के कारण "? नहीं, अगर हम बाइनरी में गिने जाते हैं, तो हम संभवतः 100 से नीचे की गिनती करेंगे - सिवाय इसके कि केवल चार दिन लगेंगे, सौ से भी ज्यादा ...
टोबी स्पाइट

जवाबों:


42

एक्सेल, १०

=NOW()+100

प्रदर्शन

यहाँ छवि विवरण दर्ज करें


1
Google शीट में भी काम करता है।
ओकेक्स

11
एक्सेल कोड गोल्फ के लिए हमेशा अच्छा होता है जिसमें पार्सिंग डेट शामिल होती है।
इंजीनियर टोस्ट

2
क्या एक्सेल के लिए एक भाषा पैक है जिसमें नाऊ फ़ंक्शन केवल दो अक्षरों के साथ वर्तनी है? उस स्थिति में, आप 1 बाइट बचा सकते हैं।
इरेलिच्ट

13
हां, डच में 'न्यू' () है
टोमिनेटर

2
हालांकि, प्रति केवल तारीख हिस्सा , आप का उपयोग करना होगा =TODAY()+100या=TEXT(NOW()+100,"MM/dd/yyyy")
KyleMit

20

बैश, 17 16 15 14 13 बाइट्स

date -d100day

यह पता चला है कि dateसापेक्ष समय के लिए कमांड कुछ सुंदर लचीला इनपुट लेता है। तुम भी बातें की तरह कर सकते हैं 1 year, 1 week ago, yesterday, आदि यह बहुत अच्छा है।

-1 बाइट यह महसूस करके कि बैश व्याकरण की परवाह नहीं करता है।
-1 बाइट क्योंकि बीच की जगह 100और dayअनावश्यक है।
-1 बाइट क्योंकि मुझे उद्धरण की आवश्यकता नहीं है क्योंकि मेरे पास स्ट्रिंग में जगह नहीं है।
-1 बाइट के बाद स्थान हटाकर -d(धन्यवाद ASCII-only!)


नई पसंदीदा आदेश +1
NonlinearFruit

@NonlinearFruit Hah, हाँ, यह शायद मेरे पसंदीदा आदेशों में से एक है। धन्यवाद!
२.३३N पर हायपरनीट्रीनो

आप अंतरिक्ष की जरूरत नहीं है के बाद-d
ASCII-केवल

@ ASCII- केवल ओह, ठीक है। धन्यवाद!
२.४47 पर हायपरनीट्रीनो

10

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

(date)+1e2

+ 1e2 चाल के लिए ConnorLSW को धन्यवाद।

ऐसा प्रतीत होता है कि डबल्स ( 1e2एक डबल है) को भी दिनों के रूप में जोड़ा जाता है।

पिछला संस्करण, 12 बाइट्स:

(date)+"100"

जाहिरा तौर पर आप PowerShell में तारीखों में तार जोड़ सकते हैं। स्ट्रिंग "100"एक 100 दिनों में बदल जाता है TimeSpan


2
ठीक है मुझसे पूछते नहीं क्यों, लेकिन फिर भी (date)+100काम नहीं करता, (date)+1e2करता है ... मुझे लगता है कि 1e2वास्तव में है एक double, जबकि 100एक नंबर है जब तक यह संकलित है, यानी आप कॉल नहीं कर सकते 100.GetType(), लेकिन आप कर सकते हैं 1e2.GetType()- कि के -2 और करने के लिए हमें लाता है एक्सेल के साथ एक ड्रा!
Colsw

@ConnorLSW यदि यह मदद करता है या भ्रम 100में जोड़ता है तो 100 टिकों को जोड़ने के रूप में देखा जाता है जहां स्ट्रिंग "100"को दिनों के रूप में लिया जाता है। दोनों वैध पीएस हैं, लेकिन केवल एक ही है जो हमें चाहिए।
मैट

@Matt 1e6अभी भी एक संख्या है और दिन के रूप में जोड़ा जाता है?
Colsw

यह दिलचस्प तो है। शायद हुड के नीचे और अधिक चल रहा है, जहां यह संख्या एक सीमा से अधिक है .... मुझे नहीं पता
मैट

मुझे लगता है कि यह किसी भी तरह पुराने DATE प्रकार से संबंधित है, जो कि 8-बाइट फ्लोटिंग पॉइंट नंबर है, जिसमें दिनों को पूरी संख्या में वृद्धि के रूप में दर्शाया जाता है। मुझे लगता है कि Excel क्या उपयोग कर रहा है।
डेन्को डर्बीच


6

PHP, 28 बाइट्स

<?=date(Y_m_d,time()+864e4);

मानव पठनीय संस्करण, 35 बाइट्स:

<?=date(Y_m_d,strtotime("100day"));

लगभग पठनीय, 34 बाइट्स:

<?=date(Y_m_d,strtotime(1e2.day));

-4 बाइट्स यदि समय प्रिंट करना भी स्वीकार किया जाता है: के Y_m_dसाथ बदलें rया c

यह 100 दिनों में फ्रांस में राष्ट्रीय अवकाश है।


अंडरस्कोर ने मुझे ऐसा क्यों किया "अंडरस्कोर, क्या यह एक स्थिर है? नहीं, एक स्ट्रिंग ओह वॉच 'रिक्तियां' !!" चतुर।
मार्टिज़न

@Martijn चालू करें E_NOTICEऔर आप जानते हैं: Y_m_dअपरिभाषित स्थिर है और PHP एक स्ट्रिंग मान लेता है। यह कीवर्ड , पूर्वनिर्धारित स्थिरांक और मामले असंवेदनशील true, falseऔर के अलावा किसी भी मान्य शब्द (सभी फ़ंक्शन नामों सहित) के साथ काम करता है null
टाइटस

5

रूबी , 16 बाइट्स

p Time.now+864e4

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


यह जवाब देने के लिए जा रहा था, अच्छा। लेकिन मैं के लिए अलग अलग परिणाम प्राप्त 864e4और 8640000और मैं काफी पता नहीं क्यों। मैं TIO को दोष देता हूं। संपादित करें: जब आप उपयोग करते हैं p, तो दो मान एक अलग परिणाम देते हैं। लेकिन जब आप उपयोग putsकरते हैं, तो वे समान होते हैं।
घोंघा_

मुझे समझ में नहीं आता, मुझे दोनों के साथ एक ही परिणाम मिलता है। क्या आप एक उदाहरण पोस्ट कर सकते हैं? शायद यह लोकेल पर निर्भर करता है?
जीबी

p Time.now+864e4p Time.now+8640000TIO पर लगभग 4 दिन पीछे है। मैंने इसे कई बार आजमाया। हालाँकि, यदि आप उपयोग करते हैं puts, तो यह अंतर मौजूद नहीं है। मैं वास्तव में नहीं जानता कि क्या मेरे लोकल मायने रखता है, यूएस ईस्ट को बहुत सामान्य होना चाहिए: पीआई का अनुमान है कि जब मैं घर पहुंचता हूं तो मैं इसे अपने पीसी पर चलाने की कोशिश करूंगा।
घोंघा_

5

जावास्क्रिप्ट, 29 26 25 बाइट्स

सहेजे गए 3 बाइट्स @ ASCII- के लिए धन्यवाद!

@JohanKarlsson को 1 बाइट धन्यवाद दिया

new Date(+new Date+864e7)

document.body.innerHTML=new Date(+new Date+864e7)


1
आप 864e7इसके बजाय का उपयोग कर सकते हैं864*10e6
केवल

1
आप +new DateDate.now()
जोहान कार्ल्ससन

1
यह एक स्निपेट है। आपको शामिल करने की आवश्यकता हैconsole.log
mbomb007


4

विम, 27 बाइट्स

:r!date "+\%F" -d"+100 day"

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

यहाँ छवि विवरण दर्ज करें

संपादित करें: अनावश्यक स्थान चार को हटाया गया।


2
यदि आप लिनक्स का उपयोग कर रहे हैं date, तो इस पृष्ठ पर एक यह date -d100dayसुनिश्चित नहीं है कि क्या यह मदद करेगा, हालांकि
केवल

मैं इसके साथ परीक्षण करता हूं :r!date +\%F -d100dayयह भी काम करता है (कम से कम मेरे पीसी (सी)) पर, लेकिन HyperNeutrinoपहले से ही बैश में उपयोग के समान है ।
12431234123412341234123

उह, आप बाइट्स को सिर्फ विम को खत्म करके और बैश में कर सकते हैं।
डेविड कॉनरैड

4

MATL , 9 बाइट्स

Z'100+1XO

आउटपुट स्वरूप है 15-Jul-2017(जो मुझे सबसे अधिक पठनीय लगता है)। उदाहरणों में प्रयुक्त प्रारूप प्राप्त 1XOकरने के 2XOलिए बदलें 07/15/17

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

व्याख्या

Z'      % Push current date and time as a serial date number
100+    % Add 100
1XO     % Convert to string with format 'dd-mmm-yyyy'. Implicitly display

4

SQL (Microsoft), 35 31 बाइट्स

SELECT DATEADD(D,100,GETDATE())

आप dइसके बजाय का उपयोग कर सकते हैं DAYऔर अंदर रिक्त स्थान को हटा सकते हैं DATEADD
mbomb007

यहां तक ​​कि मुझे नहीं पता था कि आप उपयोग कर सकते हैं d। मैं उपयोग करता हूं ddया dayव्यवहार में हूं । मैंने बस कोशिश की और यह काम कर गया।
mbomb007

3

जावा 8, 77 , 61 बाइट्स

()->System.out.print(java.time.LocalDate.now().plusDays(100))

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


क्या कोई कारण है कि आप बॉयलरप्लेट को शामिल नहीं करते हैं? (यानी 'क्लास ए {पब्लिक स्टैटिक।') जावा के लिए, मेरा मानना ​​है कि एक पूर्ण कार्यक्रम के लिए आवश्यक है। तुम एक लंबोदर कर सकते थे ()->java.time.LocalDate.now().plusDays(100)
NonlinearFruit

मेरे उत्तर को संपादित करने से पहले मेरे पास था। यह बॉयलरप्लेट के साथ 94 बाइट्स था। मैं जावा के साथ गोल्फ के लिए नया हूं। इसलिए मुझे इस बात पर यकीन है कि मुझे इसमें शामिल होना था या नहीं!
कीर्तन प्रभाकरन

2
प्रस्तुतियाँ (जब तक कि अन्यथा निर्दिष्ट न हो) या तो एक पूर्ण कार्यक्रम हो सकता है (संशोधन के बिना कुछ दुभाषिया द्वारा चलाया जा सकता है) या एक फ़ंक्शन।
NonlinearFruit

3

सी #, 103 97 बाइट्स

6 बाइट बचाने के लिए raznagul को धन्यवाद !

using System;class P{static void Main(){Console.Write(DateTime.Now.AddDays(100).ToString("d"));}}

पूर्ण कार्यक्रम जो वर्तमान तिथि को पढ़ता है, 100 दिन जोड़ता है और M/d/YYYYप्रारूप में परिणाम प्रदर्शित करता है ।

आप कुछ और बाइट्स जोड़कर तिथि प्रारूप बदल सकते हैं:

using System;class P{static void Main(){Console.Write(DateTime.Now.AddDays(100).ToString("d-M-yyyy"));}}

बॉयलरप्लेट कोड को खत्म करने के लिए - सी # बिल्कुल कॉम्पैक्ट होने के लिए नहीं जाना जाता है - एक अनाम फ़ंक्शन का उपयोग किया जा सकता है:

सी # लैम्ब्डा, 49 43 बाइट्स

()=>DateTime.Now.AddDays(100).ToString("d")

पूरा कार्यक्रम:

using System;

class P
{
    static void Main()
    {
        Func<string> f = 
        ()=>DateTime.Now.AddDays(100).ToString("d");

        Console.WriteLine(f());
    }
}

पूर्ण कार्यक्रम के लिए मुझे लगता है कि आप System.DateTime.Now ... "सिस्टम का उपयोग कर" से बचने के लिए लिख सकते हैं;
तैमूर

1
@Taemyr: वह लंबा होगा, क्योंकि उसे भी इसकी आवश्यकता है Console.Write
राजनागुल

2
@adrianmp: के .ToString("d")बजाय का उपयोग करके आप 6 बाइट्स बचा सकते हैं .ToShortDateString()
राजनागुल

3

नूडल , 8 बाइट्स

]5@LaƇ⁺ƈ

कोशिश करो:)


यह काम किस प्रकार करता है

]5@LaƇ⁺ƈ
]5@La    # The string "]5@La" gets pushed onto the stack which in base 98 represents 8,640,000,000.
     Ƈ   # Pushes an integer that represents the current time where highest resolution is milliseconds.
      ⁺  # Add the time and the string which will be interpreted as 8,640,000,000ms.
       ƈ # Convert the integer to human readable time.
         # Implicitly output to the screen.

<div id="noodel" code="]5@LaƇ⁺ƈ" input="" cols="80" rows="2"/>

<script src="https://tkellehe.github.io/noodel/noodel-latest.js"></script>
<script src="https://tkellehe.github.io/noodel/ppcg.min.js"></script>


चरित्र ode यूनिकोड वर्ण U + 0187 है, जो एक बाइट में प्रदर्शित होने के लिए बहुत बड़ा है। वही। (U + 0188) के लिए जाता है। तो जबकि यह 8 वर्ण लंबा है, न्यूनतम बाइट-लंबाई 10. है
iFreilicht

1
@iFreilicht, नूडल अपने स्वयं के एन्कोडिंग का उपयोग करता है। संपादक UTF-16 में बेहतर दृष्टि से काम करने के लिए सब कुछ करता है , लेकिन पार्स करने से पहले नूडल कोड पेज के आधार पर एनकोड हो जाता है ।
tkellehe

3

गणितज्ञ, २६ २१ बाइट्स

-5 बाइट्स @KiranLinsuain को धन्यवाद!

Today+Quantity@"100d"

यदि समय की अनुमति है, तो हम 2 बाइट्स बचा सकते हैं:

Now+Quantity@"100d"

1
"अब + मात्रा [" 100d "]" इसे काफी कम कर देता है, लेकिन हमेशा सभी संस्करणों पर काम नहीं कर सकता है।
kl

3

सी, 87 46 44 बाइट्स

अल्बर्ट रेनशॉ की बदौलत 2 बाइट्स बचाए

f(){time_t t=time(0)+864e4;puts(ctime(&t));}

मुझे एहसास हुआ कि उत्पादन सप्ताह और समय के दिन की अनुमति देने के लिए पर्याप्त लचीला है, इसलिए इसका उपयोग करने localtimeया tmसंरचना की बिल्कुल भी आवश्यकता नहीं है ।

पुराना उत्तर

f(){time_t t=time(0)+8640000;char b[9];strftime(b,9,"%d-%m-%y",localtime(&t));puts(b);}

Khaled.K के उत्तर के आधार पर , लेकिन tmसंरचना के साथ खिलवाड़ करने के बजाय , time_tमूल्य में 100 दिनों के बराबर सेकंड की संख्या को सीधे जोड़ता है । यह सप्ताह के समय या दिन के बिना, केवल तारीख को प्रिंट करता है।

जैसा कि यह एक गोल्फ कार्यक्रम पर होना चाहिए, संकलन पर कुछ बदसूरत चेतावनी उत्पन्न होती है।

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

Ungolfed:

f(){
    // Current time + 100 days
    time_t t=time(0)+8640000;
    // Buffer for printing formatted time
    char b[9];
    // Print the time in format dd-mm-yy to buffer
    strftime(b,9,"%d-%m-%y",localtime(&t));
    // print buffer
    puts(b);
}

2
2 बाइट्स को बदलकर शेव 8640000करें864e4
अल्बर्ट रेनशॉ

2

जावास्क्रिप्ट, 42 बाइट्स

(d=new Date()).setDate(d.getDate()+100)&&d

setInterval(_=>document.body.innerHTML=(d=new Date()).setDate(d.getDate()+100)&&d,1000)


मैंने अपना जवाब प्रेरणा के रूप में खान कोडगॉल्फ.स्टैकएक्सचेंज . com/questions/115436/100-day-countdown/… ;) पर इस्तेमाल किया
थॉमस डब्ल्यू

2

आईबीएम / लोटस नोट्स फॉर्मूला, 29 बाइट्स

@Adjust(@Today;0;0;100;0;0;0)

दुर्भाग्य से लापता के लिए @Adjustअनुगामी की आवश्यकता 0'sहै hh:mm:ss

अगर हमें समय प्रदर्शित करने की अनुमति दी गई तो 27 के लिए 2 बाइट्स @Todayको बदलने से बदल @Nowजाएगा।


2

जावास्क्रिप्ट (ईएस 6), 44 बाइट्स

_=>new Date(Date.now()+864e7).toDateString()

25 बाइट्स यदि समय के साथ एक तारीख को वापस करना स्वीकार्य है:

_=>Date(Date.now()+864e7)



2

स्विफ्ट 3, 39 बाइट्स

print(Date(timeIntervalSinceNow:864E4))

मेरा तर्क है कि आपको इसकी आवश्यकता नहीं है import foundation;। स्विफ्ट सिर्फ iOS पर चलती है और वहां ऑटो आयात किया जाता है।
अल्बर्ट रेनशॉ

यहां अभी तक बहुत सारे स्विफ्ट उत्तर नहीं हैं, इसलिए यह निश्चित नहीं है कि सर्वसम्मति क्या है। लेकिन मुझे लगता है कि आपके पास एक अच्छा बिंदु है, मैं आयात को हटा दूँगा :)
मैट

@ अल्बर्ट स्विफ्ट मैक ओएस और लिनक्स पर भी चलता है। मुझे नहीं पता कि इसका क्या मतलब है, हालांकि आयात की आवश्यकता है।
डेविड कॉनराड

2

सी, 120 113 बाइट्स

#include <time.h>
f(){time_t t=time(0);struct tm*tm=localtime(&t);tm->tm_mday+=100;t=mktime(tm);printf("%s",ctime(&t));}

लाइव डेमो

#include <stdio.h>
#include <time.h>

void PrintDatePlus100days()
{
    // obtain current time
    time_t t = time( 0 );

    // convert to datetime struct
    struct tm *tm = localtime( &t );

    // add 100 days
    tm->tm_mday += 100;

    // convert to time_t
    t = mktime( tm );

    // print time in readable format
    puts( ctime( &t ) );
}

अगर मुझसे गलती नहीं हुई है, तो #include ...फ़ंक्शंस सबमिट करते समय आपको बॉयलरप्लेट के लिए खाते की आवश्यकता नहीं है । (जावा जवाब, उदाहरण के लिए, importउस मामले में की जरूरत नहीं है )
Cássio Renan

जावा में CássioRenan आपको डिफ़ॉल्ट आयातों की गणना करने की आवश्यकता नहीं है java.lang.*, जैसे हम कैसे गिनते हैं stdio.hऔर stdlib.hसी में नहीं। लेकिन यहां तक ​​कि जावा में, आपको या तो कस्टम आयात पर विचार करने की आवश्यकता है या वर्ग नाम में पथ डालें java.util.Date, जैसे , और जो आपके स्कोर में गिना जाता है।
खालिद.के।

2
क्यों इस्तेमाल करने से भी काम नहीं printf()चलेगा puts()?
12431234123412341234123

2

पॉवरशेल, २३

(get-date).adddays(100)

यह मेरा पहला प्रयास है, इसलिए कृपया मुझे रचनात्मक प्रतिक्रिया दें। धन्यवाद!


2

आर (आरईपीएल), 14 बाइट्स

Sys.Date()+100

Ideone पर इसे आज़माएं


1
यह एक स्निपेट है। आपका कोड परिणाम को आउटपुट करने के लिए आवश्यक है, या तो एक फ़ंक्शन के परिणाम के रूप में, या पूर्ण प्रोग्राम के रूप में STDOUT में।
mbomb007


@ mbomb007 REPL उत्तर की अनुमति है , लेकिन उन्हें एक अलग भाषा माना जाता है।
डेनिस

@ डेनिस यह पहले REPL के रूप में सूचीबद्ध नहीं था।
mbomb007

1

पायथन, 63 बाइट्स

from datetime import*
print(datetime.now()+timedelta(days=100))

बहुत सरल समाधान वास्तव में। क्योंकि datetime.now()परिणाम के typeरूप में ही है timedelta, यह खुशी से दोनों को एक साथ जोड़ता है।


यह एक समारोह होने की जरूरत नहीं है। आप lambda:इसे हटा सकते हैं और यह अभी भी एक पूर्ण कार्यक्रम होगा।
NonlinearFruit

@NonlinearFruit हाँ, लेकिन printइसे जोड़ना होगा और यह बाइट्स की समान संख्या बनाता है।

यदि आप पायथन 2 का उपयोग करते हैं, तो आप print1 बाइट को बचाने के लिए कोष्ठक को हटा सकते हैं
मृत पॉसम

days=वैकल्पिक है, कि 5 + 1 बाइट (को Python2 की बचत होगी printके कोष्ठक)
फेलिप Nardi बतिस्ता

57 बाइट्स के लिए नीचे गोल्फ:from datetime import*;print datetime.now()+timedelta(100)
श्री Xcoder



1

ओरेकल, 34 बाइट्स

SELECT CURRENT_DATE+100 FROM DUAL;

1

पायथन 2 + पंडों 0.19.1, 56 51 बाइट्स

from pandas import*
print Timestamp('now','D')+100
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.