2013-08-08 4 views
5

बिना आज की तारीख प्राप्त करना चाहते हैं वर्तमान में मैं क्या कर रहा हूँ मैं कुछ तारीख की तुलना कर रहा हूँ आज की तारीख के साथ oldDate कहनामैं समय

   NSDate *dt = [NSDate date]; 
      NSComparisonResult result = [oldDate compare:dt]; 
      if (result == NSOrderedAscending) 
      { 
       // do something 
      } 

डीटी मुझे समय भी साथ आज की तारीख देता है। लेकिन मुझे बस तारीख और कोई समय नहीं चाहिए। मैं इसे कैसे प्राप्त कर सकता हूं?

+0

स्टैक ओवरफ्लो पर बहुत सारे उत्तर: http://stackoverflow.com/questions/1889164/get-nsdate-today- कल- यह-week-last-week-this-month-last-month-var http://stackoverflow.com/questions/2331129/how-to-determine-if-an-nsdate-is-today – Flop

उत्तर

13
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; 
[dateFormatter setDateFormat:@"dd/MM/YYYY"]; 
NSString *dateString=[dateFormatter stringFromDate:[NSDate date]]; 
+0

लेकिन मुझे यहां दो तिथियों की तुलना करने की आवश्यकता है, इसलिए यदि मैं date_String को nsdate में परिवर्तित कर रहा हूं, तो मुझे इसमें समय जोड़ा गया। –

+0

ठीक है, आपने पहले दिनांक को उपरोक्त कोड के रूप में स्ट्रिंग में परिवर्तित कर दिया है और जब आप दो स्ट्रिंग की तुलना करते हैं .... [String_date1 isEqualToString: String_Date2]; – hitesh

1

ये रहा: mm::

NSDate *date = [NSDate Date]; 
NSDateFormatter *timeFormatter = [[NSDateFormatter alloc] init]; 
timeFormatter.dateFormat = @"HH:mm:ss"; 
NSString *timeString = [timeFormatter stringFromDate:date]; 

अब स्ट्रिंग TIMESTRING एचएच में वर्तमान समय होता है एस एस प्रारूप, यानी 11:26:59

ओह Misread सवाल! यह केवल समय के लिए अन्य उत्तरों को देखने के लिए है - साथ ही इसे यहां भी छोड़ दें।

2

आपको NSDate ऑब्जेक्ट के लिए तारीख और/या समय को सही तरीके से आउटपुट करने के लिए दिनांक फ़ॉर्मेटर का उपयोग करने की आवश्यकता है।

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 

    [dateFormatter setDateStyle:NSDateFormatterFullStyle]; 
    [dateFormatter setTimeStyle:NSDateFormatterNoStyle]; 

    NSString *dateString = [dateFormatter stringFromDate:[NSDate date]]; 

अलग NSDateFormatterStyle प्रकार की स्थापना और अधिक या कम जानकारी निकलेगा, यानी .: "मंगलवार, 1st जनवरी 2013", या "2013/01/02" के रूप में की आवश्यकता है।

+0

लेकिन इस तिथि से तारीख कैसे प्राप्त करें बिना समय के जोड़े। क्योंकि जब मैं इस दिनांक को आज तक बदल रहा हूं (तारीखफॉर्मर तिथिप्रोमस्ट्रिंग: डेटस्ट्रिंग) मुझे इसमें फिर से जोड़ा गया है –

+0

'[dateFormatter setTimeStyle: NSDateFormatterNoStyle]' सेट करके; डेट फॉर्मेटर आपके द्वारा समय को हटाने के बावजूद आपके लिए समय निकाल देगा एक स्ट्रिंग की तारीख, या किसी तारीख को स्ट्रिंग। – CaptainRedmuff

+0

थैंक्स कप्तान .... यह काम किया !!! –

4

समय क्षेत्र और सब कुछ के बारे में देखभाल करने के लिए आप कुछ इस तरह कर सकता है:

- (NSInteger)day { 
    NSDateComponents *components = [[NSCalendar currentCalendar] components:NSDayCalendarUnit | NSMonthCalendarUnit fromDate:self]; 
    return [components day]; 
} 

- (NSInteger)month { 
    NSDateComponents *components = [[NSCalendar currentCalendar] components:NSDayCalendarUnit | NSMonthCalendarUnit fromDate:self]; 
    return [components month]; 
} 

- (NSInteger)year { 
    NSDateComponents *components = [[NSCalendar currentCalendar] components:NSYearCalendarUnit fromDate:self]; 
    return [components year]; 
} 

बेशक आप एक समारोह में एक साथ यह सब रख सकते हैं बस तदनुसार components को बदलने के लिए याद है।

चेतावनी: यदि आप उपयोगकर्ता को कुछ दिखाना चाहते हैं, तो NSDateFormatter के साथ अन्य उत्तरों में से एक का उपयोग करें।

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