2010-03-02 6 views
8

में वर्तमान घंटे, मिनट और सेकंड प्राप्त करना इस से वर्तमान घंटे, मिनट और सेकंड कैसे प्राप्त कर सकता है?आईफोन

NSDate *now = [NSDate date]; 

धन्यवाद! मैं उनमें से संग्रहीत मूल्यों के साथ 3 int चर होना चाहता हूं, न कि स्ट्रिंग जो मान प्रदर्शित करता है।

उत्तर

19

आपको NSDateComponents का उपयोग करने की आवश्यकता है, जो थोड़ा मुश्किल है (वर्बोज़ का उल्लेख नहीं है!) क्योंकि आपको कोको को कैलेंडरों को संभालने के तरीके के बारे में कुछ समझने की आवश्यकता है। docs में एक महान परिचय है; यहाँ एक संशोधित अंश है:

NSDate *today = [NSDate date]; 
NSCalendar *gregorian = [[[NSCalendar alloc] 
         initWithCalendarIdentifier:NSGregorianCalendar] autorelease]; 
NSDateComponents *components = 
        [gregorian components:(NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit) fromDate:today]; 

NSInteger hour = [components hour]; 
NSInteger minute = [components minute]; 
NSInteger second = [components second]; 
+0

अंत निश्चित रूप से पर [ग्रेगोरियन autorelease], स्मृति को रोकने के लिए लीक –

+0

@TomH, अच्छा कॉल, तय की। –

+0

मेरे समाधानों को पूरा करने के लिए अच्छा काम धन्यवाद बेडर .. –

-1
NSDateFormatter * formatter; 

self.formatter = [[NSDateFormatter alloc] init]; 

[_formatter setDateFormat:@"HH:mm:ss"]; 

NSDate *today = [NSDate date]; 

NSString *p_time = [_formatter stringFromDate:today];