से वर्ष प्राप्त करें मैं एक मौजूदा प्रोग्राम को सी ++ में परिवर्तित कर रहा हूं और यहां सिबबेस टाइमस्टैम्प में हेरफेर करने की आवश्यकता है। इन टाइमस्टैम्प में दिनांक और समय की जानकारी होती है, जो मेरे ज्ञान के लिए boost::posix_time::ptime
चर द्वारा सबसे अच्छा संभाला जा सकता है। कोड में कुछ स्थानों में मुझे वर्ष को चर से प्राप्त करने की आवश्यकता है।बूस्ट पीटा
मेरा प्रश्न है: कैसे मैं सबसे अधिक कुशलता से एक बढ़ावा ptime चर से साल निकाल सकते हैं? नीचे एक नमूना कार्यक्रम है जिसमें तीन कोड की रेखाएं होती हैं, अतिरिक्त ostringstream
चर के ओवरहेड और boost::gregorian::date
चर के साथ।
बढ़ावा प्रलेखन के अनुसार:
कक्षा ptime एक समय बिंदु के तारीख हिस्से को इंटरफेस के लिए
gregorian::date
पर निर्भर है
तथापि gregorian::date
एक आधार वर्ग होना प्रतीत नहीं होता है ptime
का। किसी तरह मैं यहाँ कुछ याद कर रहा हूँ।
क्या ptime
से वर्ष निकालने का कोई आसान तरीका नहीं है?
नमूना:
#include <boost/date_time/local_time/local_time.hpp>
#include <iostream>
int main()
{
boost::posix_time::ptime t(boost::posix_time::second_clock::local_time());
boost::gregorian::date d = t.date();
std::ostringstream os; os << d.year();
std::cout << os.str() << std::endl;
return 0;
}