मुझे डेटा प्रकार time_t
पता नहीं है। क्या यह एक फ्लोट डबल या कुछ और है? क्योंकि अगर मैं इसे प्रदर्शित करना चाहता हूं तो मुझे उस टैग की आवश्यकता है जो इसके साथ printf
के अनुरूप है। मैं time_t
प्रदर्शित करने के लिए बाकी से संभाल सकता हूं लेकिन मुझे इसके साथ मेल खाने वाले डेटा प्रकार को जानने की आवश्यकता है।क्या प्राचीन डेटा प्रकार time_t है?
उत्तर
दुर्भाग्यवश, यह पूरी तरह से पोर्टेबल नहीं है। यह आमतौर पर अभिन्न है, लेकिन यह can be कोई भी "पूर्णांक या वास्तविक-फ़्लोटिंग प्रकार" है।
आप हमेशा ज्ञात समय (आधी रात, कल रात) बनाने के लिए एमकेटाइम की तरह कुछ उपयोग कर सकते हैं और दोनों के बीच डबल-सटीक समय अंतर प्राप्त करने के लिए भिन्नता का उपयोग कर सकते हैं। एक मंच-स्वतंत्र समाधान के लिए, जब तक कि आप अपने पुस्तकालयों के विवरण में खुदाई न करें, आप उससे बेहतर कुछ नहीं करने जा रहे हैं। सी spec के अनुसार, time_t की परिभाषा कार्यान्वयन-परिभाषित है (जिसका अर्थ यह है कि लाइब्रेरी के प्रत्येक कार्यान्वयन को परिभाषित किया जा सकता है, हालांकि, जब तक लाइब्रेरी फ़ंक्शंस उपयोग के साथ व्यवहार करता है, यह spec के अनुसार व्यवहार करता है।)
ने कहा, मेरे लिनक्स मशीन पर time_t का आकार 8 बाइट्स है, जो एक लंबे int या डबल का सुझाव देता है। तो मैंने किया:
int main()
{
for(;;)
{
printf ("%ld\n", time(NULL));
printf ("%f\n", time(NULL));
sleep(1);
}
return 0;
}
समय% ld एक की वृद्धि हुई द्वारा दिए गए हर कदम और नाव 0.000 हर बार छपी। यदि आप time_ts प्रदर्शित करने के लिए printf का उपयोग करने के लिए नरक हैं, तो आपका सबसे अच्छा शर्त अपने स्वयं के प्रयोग को आजमाएं और देखें कि यह आपके प्लेटफॉर्म पर और आपके कंपाइलर के साथ कैसे काम करता है।
मुझे पता है कि आपकी टिप्पणी पुरानी है, लेकिन आपको 'printf ("% f \ n ", (double) time (NULL)) का उपयोग करने की आवश्यकता है; क्योंकि printf एक vararg फ़ंक्शन है। –
यह प्लेटफ़ॉर्म-विशिष्ट है। लेकिन आप इसे एक ज्ञात प्रकार में डाल सकते हैं।
printf("%lld\n", (long long) time(NULL));
यह प्लेटफॉर्म का समर्थन करता है (लंबे समय तक)। यह ठीक है जब ऐसा नहीं होता है कि आपको यह जानने की जरूरत है कि time_t केवल 32-बिट है। –
यह भी मानता है कि मूल्य को पकड़ने के लिए 'लंबा लंबा' पर्याप्त है। जहां तक मानक कहता है कि 'टाइम_टी' पहले मोंटी पायथन एपिसोड प्रसारित होने के बाद से यॉटोसेकंड की संख्या हो सकती है (जो इसे 64 बिट्स से बड़ा कर देगा)। – skyking
@skyking झूठ बोल नहीं है। इस तरह के मूल्य (लगभग 1.5e33) रखने के लिए आपको कम-से-कम 111-बिट नंबर की आवश्यकता होगी। जब तक वे मानक में 'लंबे समय तक लंबे समय तक नहीं डालते, तब तक आप अपने सभी' time_t' को 'uint64_t [2]' में संग्रहीत करके भविष्य के लिए तैयार कर सकते हैं। – Balthamos
आप फ़ंक्शन difftime
का उपयोग कर सकते हैं। यह दो time_t
मानों के बीच अंतर देता है, आउटपुट मान double
है (difftime documentation देखें)।
time_t actual_time;
double actual_time_sec;
actual_time = time(0);
actual_time_sec = difftime(actual_time,0);
printf("%g",actual_time_sec);
- 1. इकाई सदस्यों को वे प्राचीन डेटा प्रकार या जावा डेटा प्रकार होना चाहिए?
- 2. टाइपकॉन्टर प्राचीन प्रकार के लिए टूटा?
- 3. प्राचीन प्रकार के रूप में पूर्णांक
- 4. पीवीओआईडी डेटा प्रकार क्या है?
- 5. जावास्क्रिप्ट: क्या प्राचीन तारों में विधियां हैं?
- 6. एक प्राचीन डबल मान
- 7. एनएससीओडी: प्राचीन प्रकार के लिए एन्कोडर और डिकोडर
- 8. एंड्रॉइड में एकत्रित प्राचीन प्रकार के कचरे हैं?
- 9. इकाई फ्रेमवर्क कोड प्राथमिक और प्राचीन प्रकार के संग्रह
- 10. प्राचीन प्रकार के लिए जावा सूची जेनेरिक वाक्यविन्यास
- 11. हाइबरनेट अपवाद शून्य मूल्य को प्राचीन प्रकार के सेटटर
- 12. जावास्क्रिप्ट डेटा प्रकार क्या हैं?
- 13. क्या जावा डेटा प्रकार ओरेकल एसक्यूएल डेटा प्रकार NUMERIC से मेल खाता है?
- 14. SQLCommand विधि ExecuteScalar() वापस डेटा प्रकार क्या डेटा प्रकार करता है?
- 15. डेटा प्रकार
- 16. डेटा प्रकार
- 17. time_t से घंटे निकालने के लिए कैसे?
- 18. टाइपोफ नई स्ट्रिंग ("aaa") === "ऑब्जेक्ट"? सब कुछ एक वस्तु है, लेकिन प्राचीन प्रकार हैं?
- 19. क्यों प्राचीन प्रकार के हैं जैसे कि Intala में ऑब्जेक्ट को मिटा दिया गया है?
- 20. अलग डेटा प्रकार डेटा (C++)
- 21. क्या MySQL समर्थन उपयोगकर्ता परिभाषित डेटा प्रकार
- 22. प्राचीन SVN आधार फ़ाइल गुम
- 23. LINQ, XXX प्रकार का निरंतर मान बनाने में असमर्थ। इस संदर्भ में केवल प्राचीन प्रकार या गणना प्रकार समर्थित हैं
- 24. टाइमज़ोन स्टोर करने के लिए उपयुक्त डेटा प्रकार क्या है?
- 25. unix_timestamp (MySQL) के लिए डेटा प्रकार क्या है?
- 26. क्या कोई .NET डेटा-प्रकार बाइट से छोटा है?
- 27. क्या पीएचपी के पास int से बड़ा डेटा प्रकार है?
- 28. डेटा-डोजो-प्रकार और डोजोटाइप के बीच क्या अंतर है?
- 29. हास्केल में सूचीबद्ध: डेटा प्रकार या सार डेटा प्रकार?
- 30. scanf() का उपयोग कर time_t चर में डेटा को कैसे पढ़ा जाए?
यह पहले से ही यहाँ उत्तर दिया गया है: http://stackoverflow.com/questions/471248/what-is-ultimately-a-time-t-typedef-to –
जो लोग यहां आते हैं कैसे printf करने के लिए खोज के लिए एक time_t, वही चर्चा clock_t पर लागू होती है और [यहां] किया गया है (http://stackoverflow.com/questions/1083142/whats-the-correct-way-to-use-printf-to-print-a-clock आयकर)। –
@FirasAssaad वह उत्तर लिनक्स के लिए है। यह पोस्ट गैर-ओएस विशिष्ट है। – chux