मैं डेट-टाइम स्ट्रिंग को पार्स करने का प्रयास कर रहा हूं और परिणाम को std :: tm संरचना में डाल सकता हूं। नीचे दिए गए कोड है, कोड चलानेयह std :: get_time में एक बग है?
#include <iomanip>
#include <ctime>
#include <sstream>
#include <string>
std::stringstream ss;
struct std::tm when;
ss.str("8/14/2015 3:04:23 PM");
ss >> std::get_time(&when, "%m/%d/%Y %r");
के बाद, when.tm_hour 27. यह एक बग है, या मैंने कुछ गलत किया?
मैं खिड़कियों पर विजुअल स्टूडियो 2013 का उपयोग कर रहा 7.
धन्यवाद।
अजीब है, मैं उस ++ सब पर जी में काम करने के लिए नहीं मिल सकता है और Ideone पार्स करने के लिए विफल हो रहा है मूल तिथियां और समय। मैं उत्सुक हूं कि यहां क्या हो रहा है। – templatetypedef
क्लैंग/libC++ कहते हैं 15. जीसीसी/libstdC++ पार्स करने में विफल रहता है। यह मजेदार है। –
'get_time' से पहले एक अलग लोकेल को इम्बोइंग करने का प्रयास करें। यानी 'ss.imbue (std :: locale (" en_US ")); 'मुझे यकीन नहीं है कि विंडोज कौन से स्थानीय विंडोज का समर्थन करता है, या यदि यह' एन-यूएस 'बनाम' en_US' की अपेक्षा करता है। आपको एक खोजने के लिए चारों ओर खेलना पड़ सकता है। –