2010-10-06 14 views
5

मुझे किसी दिनांक/समय स्ट्रिंग को एनएसडीएटी में परिवर्तित करने में समस्या आ रही है।समय क्षेत्र में कॉलन के साथ दिनांक/समय के लिए NSDateFormatter दिनांक प्रारूप

दिनांक स्ट्रिंग मैं बदलने की आवश्यकता है: 2002-12-24T00: 00: 00-07: 00

मेरे दिनांक स्वरूप स्ट्रिंग है वर्तमान में yyyy-MM-dd'T'HH: mm: ssZZZ

समस्या समय क्षेत्र में कोलन है।

ZZZ रिटर्न इस तरह की स्ट्रिंग: -0700 (कोलन) के बिना मैं कैसे समय क्षेत्र में एक कॉलन के साथ एक स्ट्रिंग बदल सकता हूँ?

धन्यवाद

उत्तर

3

मैं एक रूप में कुछ स्ट्रिंग परिवर्तन का सुझाव देते हैं, तो यह है कि dateWithString और अधिक आसानी से स्वीकार कर सकते हैं - कैसे के बारे में stringByReplacingOccurrencesOfString एक या अधिक बार उपयोग करते हुए पेट से छुटकारा पाने के लिए?

dateWithString चाहता है:

YYYY-MM-DD HH:MM:SS ±HHMM 

आपके पास:

yyyy-MM-dd'T'HH:mm:ssZZZ 

आप शायद ('टी' हिस्सा से छुटकारा पाने के है, जब तक आप एक छोटे है componentsSeparatedByString के कुछ संयोजन का इस्तेमाल करना होगा टी के लिए संभव मूल्यों की सीमा, और शायद एसएसजेडजेड को + एचएचएमएम में परिवर्तित करने के लिए खुद को एक छोटा सा फ़ंक्शन लिखें।

+1

'टी' टी को संभालेगा, इसलिए मुझे उस समय के बीच कोलन से छुटकारा पाना था जोन भागों मेरी चिंता यह थी कि समस्या के आसपास 'आसान' तरीका था, लेकिन उचित तरीका नहीं था। हालांकि हर किसी से मैंने इस बारे में बात की है, ऐसा लगता है कि यह वास्तव में ऐसा करने का एकमात्र तरीका है। चूंकि मेरी स्ट्रिंग हमेशा एक ही प्रारूप है, मैं एक स्ट्रिंगबियरिंग ऑक्करेंस ओफस्ट्रिंग कर सकता हूं: साथ स्ट्रिंग: विकल्प: रेंज: और रेंज – kdbdallas

+0

के अंत से सीमा को 1 में सेट करें और मेरे पास स्ट्रिंग बिल्कुल ठीक है (2002-12- 24T00: 00: 00-07: 00), लेकिन मेरी समान तिथि फॉर्मेटर "yyyy-MM-dd'T'HH: mm: ssZZZ" कोई फर्क नहीं पड़ता कि मेरे पास इनपुट स्ट्रिंग में ":" है या नहीं। क्या कुछ बदल गया है? –

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