2010-11-16 17 views
9

के बाद से कितने सेकंड पिछले हैं, मैं सी ++ में एक फ़ंक्शन की तलाश कर रहा हूं जो गणना करता है कि आज तक 1/1/1970 से कितने सेकंड पहले हैं।1/1/1970

+1

एक बहुत ही भरी हुई सवाल है कि। क्या आप समय क्षेत्र, लीप सेकंड, और डेलाइट सेविंग ऑफ़सेट शामिल करना चाहते हैं? – MSalters

उत्तर

17
#include <time.h> 

time_t seconds_past_epoch = time(0); 

अधिकांश ऑपरेटिंग सिस्टम पर उपलब्ध है।

+2

युग के बाद से समय, 1/1/1970 के बाद से समय नहीं। – MSalters

+0

@MSalters जो युग है ... – tkbx

+0

@tkbx: यह _UNIX_ युग है, अब विंडोज पर भी उपयोग किया जाता है। एम्बेडेड सिस्टम अलग हैं। – MSalters

5

टाइम_टी समय (शून्य) (टाइम_टी * ptr)

शामिल टाइम_टी समय: time.h

रिटर्न सेकंड की संख्या कि आधी रात के बाद से पारित किया है 1 जनवरी 1970 जीएमटी (या बजे, 31 दिसंबर 1 9 6 9 ईएसटी)। यदि पैरामीटर न्यूल नहीं है, तो उसी मान को स्थान पर संग्रहीत किया जाता है। Time_t प्रकार पर जानकारी के लिए इस लिंक का पालन करें। लौटाया गया मूल्य का उपयोग समय के विश्वसनीय उपाय के रूप में किया जा सकता है, और इसे मानव-पठनीय स्ट्रिंग में ctime() या रूपांतरण में पारित किया जा सकता है।

उदाहरण:

time_t t1=time(NULL); 
do_something_long(); 
time_t t2=time(NULL); 
printf("%d seconds elapsed\n", t2-t1); 

टाइम_टी मूल्यों समय से घड़ी से उत्पन्न होते हैं। time_t मान yk, m, d, h, m, s भागों से mktime और timegm द्वारा उत्पादित किए जाते हैं। time_t मानों का मूल्यांकन localime और gmtime द्वारा y, m, d, h, m, s में किया जाता है। time_t मानों को ctime द्वारा पठनीय तारों में परिवर्तित कर दिया जाता है।

+0

समय केवल POSIX सिस्टम पर सेकंड के रूप में वापस आ जाएगा .. – Daniel

2

man mktime देखें:

#include <time.h> 

time_t secsSinceEpoch = mktime(localtime(NULL)); 

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^