2010-03-22 17 views
12

के साथ स्थानीय समय प्राप्त करें मुझे इसे दस्तावेज़ में नहीं मिला: बूस्ट के साथ स्थानीय समय (बेहतर प्रारूपित) कैसे प्राप्त करें?बूस्ट

+2

बेहतर से स्वरूपित क्या है? – jalf

+0

मेरा मतलब है कि मैं आउटपुट डेटा प्रारूपित करना चाहता हूं। – Ockonal

उत्तर

17

सिस्टम घड़ी से समय वस्तु बनाने के लिए posix_time का उपयोग करें।

उदाहरण के लिए

, यह एक आईएसओ प्रारूप स्ट्रिंग के रूप में उत्पादन मौजूदा सिस्टम का समय होगा:

namespace pt = boost::posix_time; 
pt::to_iso_string(pt::second_clock::local_time()); 

विकल्प स्वरूपण के लिए, ऊपर से जुड़े संदर्भ की "रूपांतरण स्ट्रिंग के लिए" खंड देखें और Date Time Input/Output संदर्भ । वैकल्पिक रूप से, आप एक्सेसर फ़ंक्शंस का उपयोग करके अपनी आउटपुट स्ट्रिंग बना सकते हैं।

namespace pt = boost::posix_time; 
pt::ptime now = pt::second_clock::local_time(); 
std::stringstream ss; 
ss << static_cast<int>(now.date().month()) << "/" << now.date().day() 
    << "/" << now.date().year(); 
std::cout << ss.str() << std::endl; 

नोट महीने int को डाला जाता है तो यह अंकों के रूप में प्रदर्शित होगा: उदाहरण के लिए, एक अमेरिकी शैली की तारीख पाने के लिए। डिफ़ॉल्ट आउटपुट पहलू इसे तीन-अक्षर महीने संक्षेप (मार्च के लिए "मार्च") के रूप में प्रदर्शित करेगा।

+1

नोट: इसमें आवश्यक शामिल है: '' बूस्ट/डेट_टाइम/posix_time/posix_time.hpp'' (मैंने पहले इस पर ठोकर खाई थी) –

0

दिनांक समय इनपुट/आउटपुट API का उपयोग करें:

http://www.boost.org/doc/libs/1_42_0/doc/html/date_time/date_time_io.html#date_time.io_objects

+2

कनवर्टिंग इनपुट डेटा के लिए बहुत से नमूने हैं, लेकिन सिस्टम जानकारी से वह डेटा प्राप्त करने के बारे में नहीं। – Ockonal

0

मैं अगर यह किसी भी मदद की हो जाएगा पता नहीं है, लेकिन बढ़ावा डॉक्स स्वरूपण कुछ दिनांकों के examples है।

प्लस, मुझे लगता है कि this article कुछ मूलभूत बातें बताता है, जो देखने योग्य हैं।