मैं एक तारीख स्ट्रिंग एक सर्वर से प्राप्त बदलने की आवश्यकता है, स्थानीय NSDate करने के लिए, स्ट्रिंग लगता है:NSDateFormatter: 'जीएमटी' के साथ दिनांक एनएसडीएटी में दिनांक स्ट्रिंग को कैसे परिवर्तित करें?
"Fri, 30 Nov 2012 00:35:18 GMT"
लेकिन अब आज शुक्रवार, 30 वीं नवंबर, 11:36 AM है, तो मैं कैसे परिवर्तित एक सार्थक स्थानीय NSDate के लिए स्ट्रिंग?
मैंने पाया:
iPhone: NSDate convert GMT to local time
लेकिन जैसे कि यह विपरीत है लग रहा है।
ओह; मेरे जवाब में गलत zeds था। +1। यद्यपि आपको अभी भी लोकेल को स्पष्ट रूप से सेट करना चाहिए - अन्यथा 'NSDateFormatter' को आपकी सटीक स्वरूपण स्ट्रिंग को संशोधित करने का अधिकार सुरक्षित है। – Tommy
@ टॉमी: अगर मुझे गलत नहीं लगता है, तो लोकेल आपके वर्तमान लोकेल में चूक जाता है। मैं सिर्फ NSLog'd dateFormatter.locale.localeIdentifier (यह स्थापित करने के बिना) और यह मेरे "en_US" है, जो मेरे वर्तमान स्थान है दे दी है। यही कारण है कि मैंने इसे सेट नहीं किया, क्योंकि वह इसे अपने स्थानीय टाइमज़ोन में चाहता था। – lnafziger
@lnafziger लोकेल और टाइमज़ोन स्वतंत्र गुणों के लिए हैं। निश्चित प्रारूप दिनांक/समय तारों के साथ काम करते समय लोकेल 'en_US_POSIX' का उपयोग करना महत्वपूर्ण है। इसके बिना, यह संभव है कि उपयोगकर्ता की 24 घंटे की सेटिंग (एक उदाहरण के रूप में) जैसी चीज़ों के आधार पर प्रारूप आपकी पीठ के पीछे बदल दिया जाएगा। लोकेल को सेट करने से प्रारूप के समय क्षेत्र पर कोई प्रभाव नहीं पड़ता है। QA1480 देखें कि @Tommy ने उनके जवाब में संदर्भित किया। – rmaddy