क्या मैंने अभी तक लंच किया है?


15

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

हालांकि, एक जटिलता यह है कि आप दोपहर के भोजन को बहुत ही अजीब समय पर खाते हैं। जिस समय आप दोपहर का भोजन करते हैं वह MONTH: DAY PM (आप UTC या स्थानीय समय क्षेत्र का उपयोग कर सकते हैं)। यह सही है, यदि दिन 14 जुलाई है , तो आप 7:14 बजे दोपहर का भोजन करते हैं ।

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

उदाहरण: (जब आप प्रोग्राम चलाते हैं => आउटपुट)

  • 4 मई 11:35 AM => असत्य (आप 5:04 बजे दोपहर का भोजन करेंगे)
  • 3 जून अपराह्न 5:45 बजे = असत्य (आप 6:03 बजे दोपहर का भोजन करेंगे)
  • 28 जुलाई को 8:30 बजे => सच (आपने 7:28 बजे दोपहर का खाना खाया)
  • 15 दिसंबर 3:25 PM => सच (आपने दोपहर 12:15 बजे खाना खाया)
  • 29 फरवरी 2:29 PM => सच (यह लंच का समय है)
  • 12 अक्टूबर 12:00 पूर्वाह्न => असत्य (दिन अभी शुरू हुआ)

संदर्भ:

12 घंटे की घड़ी कैसे काम करती है


क्या हम इसके बजाय UTC का उपयोग नहीं कर सकते?
श्रीमान Xcoder

@ Mr.Xcoder हाँ, वास्तव में यह ठीक है। मैं स्पष्ट कर दूंगा।
जियोकालेव

5
यदि आप दिन के केवल एक विशिष्ट समय पर दोपहर का भोजन करते हैं, तो आप इसे दो बार कैसे खा सकते हैं? = पी
jpmc26

1
@निशान। कम से कम यह शताब्दी, आइए बताते हैं।
जियोकॉवेल

3
क्या हर कोई इस तरह अपना दोपहर का भोजन नहीं करता है? क्या यह वास्तव में केवल मैं ही हूँ?

जवाबों:


7

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

import Foundation;var n=String(describing:Date());var k=n.startIndex;print(Int(n[n.index(k,offsetBy:5)...n.index(k,offsetBy:6)])!*60+Int(n[n.index(k,offsetBy:8)...n.index(k,offsetBy:9)])!+720<=Int(n[n.index(k,offsetBy:11)...n.index(k,offsetBy:12)])!*60+Int(n[n.index(k,offsetBy:14)...n.index(k,offsetBy:15)])!)

इसकी जांच - पड़ताल करें!

यह प्रिंट trueऔर falseक्रमशः सत्य और मिथ्या के लिए।

नोट : यह केवल वर्ष 9999 तक, रात 11:59:59 बजे तक काम करता है, क्योंकि यह तारीखों की तुलना करने के लिए स्ट्रिंग्स का उपयोग करता है।


2
हमेशा की तरह
घूमने वाली

3

05AB1E , 15 18 बाइट्स

žežb‚žf12+ža‚т*+`‹

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

व्याख्या

žežb‚žf12+ža‚т*+`‹
že                 # Push current day
  žb               # Push current minute
    ‚              # Wrap to array
     žf12+         # Push current month and add 12 to it
       ža          # Push current hour
         ‚         # Wrap these two to array as well
          т*       # Multiply each element in the second array by 100
            +      # Add both arrays together
             `     # Flatten the resulting array to stack
              ‹    # Is the first item smaller than the second one?

मुझे नहीं लगता कि यह काम करता है। क्योंकि यह अभी 12:51 AM UTC है, और यह 1. आउटपुट कर रहा है
geokavel

Nvm सिर्फ एहसास हुआ कि मैं रात के बारे में नहीं के खिलाफ जाँच कर रहा था। 3 बाइट्स की कीमत पर तय किया गया।
दतबोई

2

सप्टक , 61 बाइट्स

diff(str2num([(d=datestr(now,'mmddHHMM'))(1:4);d(5:8)]))>1200

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

स्पष्टीकरण:

पहले कार्य:

  • now()दशमलव प्रारूप पर समय लौटाता है। कोष्ठक वैकल्पिक हैं।
  • datestr अपने दूसरे तर्क में दिए गए प्रारूप पर एक दशमलव संख्या को एक स्ट्रिंग में परिवर्तित करता है
  • str2num एक स्ट्रिंग को एक संख्या में परिवर्तित करता है
  • diff दो संख्याओं के बीच का अंतर

टूट - फूट:

हम इसे बीच से लेते हैं:

diff(str2num([(d=datestr(now,'mmddHHMM'))(1:4);d(5:8)]))>1200

datestr(now,'mmddHHMM'): पहले हम वर्तमान समय nowको इनपुट के रूप में लेते हैं datestrऔर प्रारूप को निर्दिष्ट करते हैं mmddHHMM। पत्र मतलब है: mm = month, dd = day, HH = hour, MM = minutesऔर AMनिर्दिष्ट करता है कि घंटे एक 12 घंटे के प्रारूप में होना चाहिए। कोई विभाजक शामिल नहीं है, इसे यथासंभव कम रखने के लिए। यह d = 07142117इस स्पष्टीकरण को लिखने के समय पर आउटपुट करता है। मैं उस हिस्से को xअभी से देखूंगा।

[(d=x)(1:4);d(5:8)]: उपरोक्त स्ट्रिंग को स्टोर करता है, जैसा कि d, फिर दो तत्वों के साथ एक सरणी बनाता है, पहले चार वर्ण, फिर 5-9 वर्ण। यह देता है :

ans =
0714
2122

जहाँ संख्याओं को तार के रूप में संग्रहीत किया जाता है, संख्याओं को नहीं। हम yनीचे दिए गए परिणाम को ऊपर कॉल करेंगे ।

str2num(y)वर्णों के सरणी को संख्याओं में परिवर्तित करता है, जहाँ प्रत्येक पंक्ति एक संख्या में बदल जाती है। यह देता है [714; 2122]। हम परिणाम के लिए कॉल करेंगे z

diff(z)>1200दो संख्याओं और अंतरों के बीच अंतर लेता है कि क्या वर्तमान समय वर्तमान तिथि की तुलना में 1200 अधिक है। यह एएम / पीएम के लिए खाता है। यह हमें वांछित परिणाम देता है।


क्या यह जाँच करता है कि क्या यह वास्तव में पीएम है?
michi7x7

यह अब करता है। :)
स्टीवी ग्रिफ़िन

यदि "mmdd" "1201" है और "HHMM" "1215" है तो यह सही होना चाहिए, नहीं? मैं किसी भी तरह के लिए खाते में महीने पर आधुनिक 12 का उपयोग करना था।
michi7x7

2

पायथ, 22 21 20 बाइट्स

<0+g.d7.d5-.d6+12.d4

-1 बाइट @ मिस्टरकोड के लिए धन्यवाद

इसे इस्तेमाल करे!

पुराने दृष्टिकोण, 22 20 बाइट्स

<+`+12.d4.d5+`.d6.d7

कोशिश करो!

व्याख्या

<0+g.d7.d5-.d6+12.d4
              +12.d4   # Add 12 to the current month to make it PM
          -.d6         # subtract that from the current hour: negative it is too early,
                       # positive when it is past this hour, zero when its the same hour
   g.d7.d5             # Is the minute greater or equal than the day? True=1; False=0
  +                    # Add this to the hour result,
                       # so that 0 can turn positive if minutes are true
<0                     # Is the result larger than 0 ?

&g.d6+.d4 12g.d5.d719 बाइट्स के लिए काम नहीं करेगा ? मुझे यकीन नहीं है और वास्तव में अभी तक इसका परीक्षण नहीं किया है लेकिन ...
श्री एक्सकोडर

&g.d6+12.d4g.d5.d718 वास्तव में होगा। इसके अलावा, पुराने दृष्टिकोण में मुझे नहीं लगता कि आपको इसकी आवश्यकता है `, और यह 18 बाइट्स लंबा हो जाएगा। मुझे नहीं पता, मैं गलत हो सकता हूं।
श्री एक्सकोडर

@ Mr.Xcoder यदि आप उपयोग करते हैं और फिर दोनों को सही होना है जैसे आपके कोड 22:17 में 19:15 के बाद गिनती नहीं होगी, क्योंकि मिनट झूठे हैं। मैं कुछ `` को हटा सकता हूं, लेकिन उन सभी को नहीं। मुझे एक बाइट बचाने के लिए धन्यवाद।
कार्लक्स्टोर

ठीक है, मैं वास्तव में नहीं जानता था कि यह सही था, मैं अभी भी Pyth सीख रहा हूँ: P
श्री Xcoder

फिर, मुझे एक वैकल्पिक समाधान मिला है g++720.d5*60.d4+*60.d6.d7, लेकिन यह दुर्भाग्य से (25 बाइट्स) है। हालांकि, यह प्रेरणा का स्रोत हो सकता है और मुझे लगा कि मुझे इसका उल्लेख करना चाहिए।
मिस्टर एक्सकोडर

2

सी #, 174 बाइट्स

using System;public class Program{public static void Main(){Console.WriteLine(DateTime.Now>DateTime.Today.AddHours(DateTime.Today.Month+12).AddMinutes(DateTime.Today.Day));}}

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


मुझे नहीं लगता कि आप घंटे और मिनट जोड़ सकते हैं, आपको उन्हें सेट करना होगा।
शीतकालीन

1
बाइट बचाने के लिए एक अनाम क्रिया ( ()=>...) बनाएं Action<bool>DateTime.Nowमहीने और दिन का उपयोग करते समय उपयोग करें । सामान्य तौर publicपर इसकी जरूरत नहीं होती है और Programयह सिर्फ एक अक्षर हो सकता है। using D=System.DateTime;बाइट्स को बचाने के लिए उपयोग करें। अच्छा विचार है, लेकिन बहुत कुछ गढ़ा जा सकता है। PPCG में आपका स्वागत है!
TheLethalCoder

@ TheLethalCoder सलाह के लिए धन्यवाद! कोड गोल्फ में यह मेरी पहली यात्रा थी, लेकिन मैं निश्चित रूप से और अधिक प्रयास करूंगा!
pritch90

2

इन सामान्य कार्यों के साथ PHP और अन्य भाषाएँ: लगभग 28 से 29 बाइट्स:

echo eval(date('Gi-1199>md')); 

या वैकल्पिक रूप से

<?=eval(date('Gi-1199>md'))?>

जो दोनों छपेंगे।

संभवतः के साथ ?1:0 प्रतिनिधित्व पर निर्भर करता है। संभवतया बाइट्स कट जाती हैं यदि ऐसी भाषा का उपयोग किया जाता है जिसमें निहित प्रतिध्वनि हो, या कोई अंतिम ';'।

किसी को वैरिएबल और बाकी सभी में मान क्यों मिलेगा, इसकी आवश्यकता नहीं है :)
date()कुछ भी नहीं है जो शाब्दिक रूप से परिभाषित नहीं है, इसलिए उदाहरण के लिए, 7 May 2017 17:22:43अभिव्यक्ति 1722 - 1200 >= 507को उत्तीर्ण करता है ()। बाइट को बराबर में बदलकर बचाया1722 - 1199 > 507

कौन कहता है कि eval मर चुका है? ;-)


2

जावा, 81 बाइट्स

n->new Date().after(new Date(){{setHours(getMonth()+13);setMinutes(getDate());}})

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

Ungolfed:

n -> new Date().after(new Date() { //new Date() returns current date
    { //instance initialization
        setHours(getMonth() + 13); //month + 12 hours for PM + 1 because months are 0 indexed
        setMinutes(getDate()());
    }
})

1
क्या यह दिसंबर सही ढंग से संभालता है? मैंने लंबे समय तक जावा के साथ काम नहीं किया है, लेकिन ऐसा लगता है कि यह दोपहर के बाद 1 दिसंबर से 24:01 के बजाय भेज सकता है।
मार्क एस।

java.util.Dateबाइट गिनती में अपने आयात को शामिल करना न भूलें ।
जकॉब

2

हास्केल, 135 129 बाइट्स

import Data.Time
x(ZonedTime(LocalTime d(TimeOfDay h m _))_)|(_,x,y)<-toGregorian d=return(mod x 12<h-12&&y<m)
y=getZonedTime>>=x

यह अनपैकिंग काफी कष्टप्रद है, शायद स्ट्रिंग हैंडलिंग बेहतर अनुकूल है

// संपादित करें: पैटर्न गार्ड सुरक्षित 5 बाइट्स


2

गणितज्ञ, 65 64 62 बाइट्स

3 कार्यक्रम

p=Date[][[#]]&;{60,1}.#&/@(p[4;;5]>=p[2;;3]+{12+p@2~Mod~12,0})

{60,1}.#&/@(#[[4;;5]]>=#[[2;;3]]+{12+#[[2]]~Mod~12,0})&@Date[]

{60,1}.#&/@(#[4;;5]>=#[2;;3]+{12+#@2~Mod~12,0})&[Date[][[#]]&]

यदि मैथेमेटिका में एक बाइट के रूप में गिना जाए तो ये हर एक बाइट कम हैं ।

स्पष्टीकरण

  1. Date[]फॉर्म में एक सूची देता है {y,m,d,h,m,s}। तो Date[][[4;;5]]वर्तमान समय के घंटे और मिनट हैं।
  2. p=Date[][[#]]&;pएक फ़ंक्शन बनाता है जो हमें चाहिए सूचकांकों में लेता है और हमें तारीख के उन हिस्सों को देता है।
  3. {60,1}.#&एक गुमनाम फ़ंक्शन है जो {60,1}समय की तुलना करने का एक तरीका प्राप्त करने के लिए डॉट उत्पाद और इनपुट लेता है । यह एक बाइट से छोटा है TimeObject
  4. p@2के बराबर है p[2], महीने की संख्या।
  5. +{12+p@2~Mod~12,0}कहते हैं {12,0}महीने और आज तक जब हम दिसंबर में नहीं कर रहे हैं, और कहते हैं {0,0}अन्यथा। (धन्यवाद, michi7x7!)
  6. >= तुलना ऑपरेटर है, लेकिन हम {घंटे, मिनट} से {समायोजित महीना, दिनांक} एंट्रीवाइज ... की तुलना नहीं कर सकते
  7. /@{60,1}.#&कोष्ठकों में असमानता के दोनों किनारों के लिए नक्शे , इसलिए हम समय की तुलना सही ढंग से कर सकते हैं।
  8. जिन कार्यक्रमों के साथ शुरू होता है {60,1}.#&, वे #एक बड़े अनाम फ़ंक्शन के लिए इनपुट का प्रतिनिधित्व &करने के लिए और अंत को दर्शाने के लिए उपयोग करते हैं।
  9. @Date[] अपनी सूची में बड़े कार्य को लागू करता है (जो किसी सूची के भागों को निकालता है) तिथि सूची को ही।
  10. [Date[][[#]]&] अपनी लाइन पर बड़े फ़ंक्शन को किसी अन्य अनाम फ़ंक्शन पर लागू करता है, जो तारीख सूची के कुछ हिस्सों को निकालता है।

बक्शीश

एक तरफ के रूप में, अगर हम दोपहर 1 बजे से 12:59 बजे के बीच खाना खाते हैं, तो हम 25 बाइट्स बचा सकते हैं {60,1}.#&[Date[][[#]]]&/@(4;;5>=2;;3)

आप वुल्फराम क्लाउड सैंडबॉक्स में कोड पेस्ट करके और गियर-> सेल का मूल्यांकन करें या Shift + Enter या Numpad Enter क्लिक करके इन सभी का परीक्षण कर सकते हैं ।


मुझे विश्वास है कि अपने बोनस टिप्पणी वास्तव में एक मान्य समाधान है - के रूप में मान्य समय की आपके डोमेन है 13:01करने के लिए24:31
टेलर स्कॉट

@TaylorScott कोड स्वरूपण के लिए धन्यवाद (हालांकि कुछ पेचीदा मामलों पर रंगीकरण विफल होता है)। मुझे यकीन नहीं है कि मैं आपकी टिप्पणी को समझता हूं, हालांकि। अगर 19 जुलाई को अगर यह 7:20 AM है, तो "बोनस" कोड "हाँ, आपने लंच कर लिया है" कहेंगे, भले ही यह 7:20 PM से दूर हो। ओपी के पास एएम में परीक्षण मामले हैं इसलिए मुझे लगता है कि यह इसे अमान्य बनाता है। मुझे किसकी याद आ रही है?
मार्क एस।

@निशान। मैंने देखा - किसी कारण से मैंने पढ़ा था कि 12:59 के बजाय 11:59 PM होने के नाते-बोनस कोड में 12 घंटे जोड़ने का कोई संक्षिप्त तरीका नहीं है?
टेलर स्कॉट

1
@TaylorScott खैर, हम ज्यादातर महीनों के लिए 12 घंटे जोड़ना चाहते हैं ताकि नवंबर के लिए हम Date[]बोनस के साथ बदल सकें (Date[]+{0,12,0,0,0,0})(गोल्फ के लिए एक तरीका हो सकता है, लेकिन 12UnitVector[6,2]यह लंबा है)। समस्या यह है कि 3 दिसंबर की तारीखों पर, हम दोपहर 12:03 पर भोजन करते हैं, 24:03 नहीं, इसलिए हमें दिसंबर को छोड़कर 12 को जोड़ना होगा । इसके लिए हमें या तो 1. इस तिथि के अंदर जाकर देखना होगा कि क्या हम दिसंबर में हैं या नहीं (जैसा कि मेरे उत्तरों में है), या 2. एक फ़ंक्शन लिखें जो इस तथ्य की जांच करता है कि क्या हम 24: XX के तथ्य के बाद गए थे, जो कि होगा लंबे समय तक।
मार्क एस।

1
@निशान। १२ + मोद [# [[२]], १२]?
michi7x7

1

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

f=
(d=new Date)=>(d.getHours()-d.getMonth()-13||d.getMinutes()-d.getDate())>=0
<input type=button value=Lunch? onclick=o.textContent=f()><tt id=o>

उन लंबे समारोह के नाम ...


1

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

from datetime import*
n=datetime.now();print(n>=n.replace(hour=[0,n.month+12][n.month<12],minute=n.day))

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

सभी डेटाइम टेस्ट। मैंने फ़रवरी 29 को फ़रवरी 28 को प्रतिस्थापित किया क्योंकि अमान्य दिनांक काम नहीं कर रहा था।


1

आर , 92 बाइट्स

library(lubridate)
d=Sys.Date()
cat(Sys.time()>ymd_hm(paste0(d,'-',month(d)+12,'-',day(d))))

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

                                   month(d)+12,'-',day(d)    # get month and day and paste into a string, adding 12 hours for pm
                      paste0(d,'-',                      )   # add current date to beginning
               ymd_hm(                                    )  # turn whole thing into a date-time object
cat(Sys.time()>                                            ) # compare with current date-time and print

1

क्यू, 31 बाइट्स

x>12:+"T"$(-3!x:.z.P)5 6 13 8 9

उदाहरण:

q).z.P
2017.07.16D19:35:26.654099000
q)x>12:+"T"$(-3!x:.z.P)5 6 13 8 9
1b

दुभाषिया यहाँ उपलब्ध है

पुराना संस्करण

{x:.z.p;x>"T"$":"sv"0"^2$/:string 12 0+`mm`dd$\:x}`

2$पैड बदल जाएगी 6करने 6_के बजाय _6, तो आप चाहते हैं (-2)$, लेकिन आप के लिए आशुलिपि का उपयोग करके उन अतिरिक्त 3 वर्ण बाहर रद्द कर सकते हैं string के रूप में ($)"0" ... या के बजाय पैड करने के लिए $ का उपयोग कर, आगे जोड़ते हैं और फिर पिछले 2 ले chars: {x:.z.P;x>"T"$":"sv -2#'"0",'($)12 0+मिमी dd$\:x}49 बाइट्स के लिए
स्ट्रीटस्टर

अच्छी जगह। मूल अमान्य था। मैंने एक और भी छोटा संस्करण जोड़ा
skeevey

1

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

t=new Date,t.setHours(13+t.getMonth()),t.setMinutes(t.getDate()),new Date>t

जो निम्नलिखित कोड के बराबर है:

function didEat()
  const d = new Date()
  d.setHours(12 /* PM */ + d.getMonth() + 1)
  d.setMinutes(d.getDate())
  return new Date > d
}
didEat()

अंतिम बार tसंशोधित किया जा सकता है
l4m2

t=new Date,t.setMinutes(t.getDate(t.setHours(13+t.getMonth(n=+t))))<n
l4m2

1

पायथन 2.7, 130 बाइट्स

from datetime import*
a=str(datetime.now()).split()
print int(''.join(a[0].split('-')[1:]))+1200<int(''.join(a[1].split(':')[:2]))

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

नोट: संकेत के साथ कोई समस्या हो सकती है। कृपया बहाना है कि क्योंकि मैं IST का पालन करता हूं और यह काफी भ्रमित करने वाला है क्योंकि यह अभी 2:28 बजे है। यदि आपको लगता है कि यह गलत है तो संकेत को ठीक करें।


1

पर्ल, 45 वर्ण

sub c{@a=gmtime;$a[2]-12>$a[4]&&$a[1]>=$a[3]}

अगर मुझे कोई विधि प्रदान करनी है, तो यह 45 के लिए होगी sub c{...}। अगर मुझे प्रिंट करना है तो say ()||0भी इसे 47 करना होगा। अगर जरूरत है तो मैं इसमें जोड़ दूंगा।


मेरा मानना ​​है कि क्योंकि मूल प्रश्न यह निर्दिष्ट करता है you need to make a program to help you make sureकि स्निपेट की अनुमति नहीं है - ऐसा कहा गया है कि आपके सूचीबद्ध आउटपुट तरीकों में से किसी को भी आमतौर पर वैध माना जाता है
टेलर स्कॉट

1
उचित पर्याप्त, मैं तो उत्पादन प्रदान करेगा। संपादन के लिए धन्यवाद, मुझे उचित भाषा टैग की जानकारी नहीं थी! मैं सोच रहा था कि perl -eआम तौर पर ठीक है, लेकिन दूसरों ने कार्य प्रदान किए हैं, इसलिए मैंने इसे संपादित किया है।
बट्टूशर

1

एक्सेल, 52 50 49 बाइट्स

=TIME(MONTH(NOW())+12,DAY(NOW()),0)<=MOD(NOW(),1)

इनपुट किसी भी सेल में यह सूत्र है।
आउटपुट TRUEया तो है FALSE

एक्सेल की बिल्ट-इन डेट हैंडलिंग बहुत मदद करती है।
यह TIMEफ़ंक्शन दिन के दोपहर के भोजन के समय को एक समय मान के रूप में लौटाता है, जिसे यदि किसी तिथि में परिवर्तित किया जाता है, तो इसका उपयोग किया जाएगा Jan 0, 1900। हम इसकी तुलना करते हैं NOW - TODAYइसलिए हमें वर्तमान समय 0या दिनांक मान के साथ मिलता है Jan 0, 1900

सहेजे गए 2 बाइट्स Wernisch की बदौलत आदम को 1 बाइट से बचा


क्या आपको अब () - TODAY () के आसपास अतिरिक्त ब्रेसिज़ की आवश्यकता है?
वर्निश

जैसा कि यह पता चला है। मैंने अनुमान लगाया था कि घटाव से पहले यह असमानता का मूल्यांकन करेगा लेकिन मैंने इसकी जाँच नहीं की। धन्यवाद।
इंजीनियर टोस्ट

मुझे लगता है कि आप से बदलकर एक बाइट बचा सकते हैं now()-today()करने के लिएmod(now(),1)
एडम

0

जावास्क्रिप्ट, 62 वर्ण

f=
_=>[,m,d,H,M]=(new Date).toISOString().split(/\D/),+m+12+d<=H+M

नीचे दिए गए टेस्ट कोड:


0

एक्सेल VBA, 55 बाइट्स

अनाम VBE तत्काल विंडो फ़ंक्शन जो कोई इनपुट नहीं लेता है और बूलियन मान का प्रतिनिधित्व करता है कि क्या मैंने VBE तत्काल विंडो पर दोपहर का भोजन किया है

n=Now:?TimeValue(n)>TimeValue(Month(n)&":"&Day(n)&"PM")

0

रूबी , 64 + 7 = 71 बाइट्स

-rtimeध्वज की आवश्यकता है क्योंकि किसी कारण के Time::parseलिए है, केवल फ़ंक्शन को पूरे Timeमॉड्यूल से बाहर की आवश्यकता है ।

p Time.parse("#{t=Time.now}"[/.+-(..)-(..) /]+[$1,$2]*?:+'pm')<t

इसे ऑनलाइन आज़माएं! (यह भी वर्तमान समय प्रिंट)


0

जूलिया 0.6.0 99 बाइट्स

a=split(string(Dates.today()),"-");(Dates.hour(now())<parse(a[2]))&&Dates.minute(now())<parse(a[3])

जूलिया ने कंप्यूटर की घड़ी / कैलेंडर का उपयोग करने के लिए फ़ंक्शन का निर्माण किया है। मेरा कंप्यूटर ubuntu 16.04 पर चल रहा है और पहले से ही 12 घंटे की घड़ी के साथ है, इसलिए मैं यह नहीं कह सकता कि मैंने अलग-अलग घड़ी का उपयोग करके अन्य मशीन के साथ क्या काम किया है, लेकिन मेरी मशीन पर काम करने लगता है।


0

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

_=>(h=x=>new Date().toJSON().substr(x,5).replace(/\D/,0))(5)+12e3<h(11)

शायद कुछ मिलीसेकंड पर यह सही नहीं ...


0

मतलाब, 241 बाइट्स

dt=datestr(now,'mm/dd');
dt(2)
dt(4:5)
CrctLchTm=[' ' dt(2) ':' dt(4:5) ' PM']
CrntTm=datestr(now,'HH:MM PM')
CrntTm(7)=='A'
if ans==1
    Lch='false'
else
    CrctLchTm=str2num([CrctLchTm(2) CrctLchTm(4:5)])
    CrntTm=str2num([CrntTm(2) CrntTm(4:5)])
    CrntTm<CrctLchTm
    if ans==1
        Lch='false'
    else
        Lch='true'             
    end    
end

स्पष्टीकरण: सबसे पहले, मैं तारीख को एक स्ट्रिंग के रूप में प्राप्त करता हूं। फिर, मैं महीने और दिन को अलग करता हूं। चूंकि समस्या बताती है कि इसे हमेशा पीएम के रूप में व्याख्यायित किया जाता है, तो मैं स्वचालित रूप से गलत लिखता हूं यदि समय एएम में है। यदि वर्तमान समय पीएम में है, तो मैं जारी रखता हूं और बस समय की संख्या की तुलना करता हूं।

नोट: मैंने इसे पठनीयता के लिए यहाँ थोड़ा अलग स्वरूपित किया है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.