2011-02-04 28 views
7

स्ट्रिंग जो मेरे डेटा स्रोत से आता है इस प्रकार फ़ॉर्मेट है:NSDateFormatter dateFromString

2011-04-11 23:12:05

// dateString comes from my data source, and look like I've said like this. 
dateString = @"2011-04-11 23:12:05"; 

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"MMMM"]; 

NSDate *date = [formatter dateFromString:dateString]; 

जब मैं के बाद इंटरनेट खोज की है इन उत्तरों जैसे धागे हमेशा यह रहे हैं कि डेटस्ट्रिंग में गलत प्रारूप था। लेकिन मेरी डेटस्ट्रिंग सही में से एक है, है ना?

तारीख क्यों शून्य लौटाती है?

उत्तर

17

@"MMMM" की दिनांक प्रारूप स्ट्रिंग का अर्थ है कि जिस स्ट्रिंग को आप पार्स करने का प्रयास कर रहे हैं वह एक महीने का पूरा नाम है ("जनवरी", "अक्टूबर", आदि)।

yyyy-MM-dd HH:mm:ss 

चेक बाहर अधिक जानकारी के लिए date formatting patterns:

आप और अधिक की तरह कुछ करना चाहते हैं।

+0

मुझे यह उल्लेख करना चाहिए था कि मैंने अपने * डेटस्ट्रिंग से पूरे महीने के नाम के साथ एनएसएसटींग करने के लिए _wanted_ किया है। –

+0

दिनांक FromString एक NSDate का उत्पादन करेगा - एक स्ट्रिंग नहीं। – xyzzycoder

+0

मेरा विचार था कि यदि मैं स्ट्रिंग को किसी तारीख में परिवर्तित करता हूं, और दिनांक को महीने के नाम (स्ट्रिंग) में कनवर्ट करने के बाद पंक्ति। लेकिन मैं पहले चरण से पहले नहीं मिल सकता। क्या तुम मेरे साथ हो? –

1
// set norwegian locale 
    dateFormatter.locale=[[NSLocale alloc] initWithLocaleIdentifier:@"no_NO"];; 

    [email protected]"MMMM"; 
    NSString * monthString = [[dateFormatter stringFromDate:date] capitalizedString]; 
    NSLog(@"month: %@", monthString); 

यह एक आदर्श उदाहरण है। आपकी भाषा के साथ यह "se_SE" होना चाहिए

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