2010-10-01 12 views

उत्तर

132

सबसे आसान तरीका मैं बारे में पता कर रहा हूँ है:

if([firstDate timeIntervalSinceDate:secondDate] > 0) { 

अन्य उत्तर तुलना कवर :, कुछ स्वाद जोड़ना चाहते थे;) ।

+3

चालाक विचार :) +1 – lukya

+1

उपयोगकर्ता एनएसडीएटी की तुलना में बहुत आसान है तुलना: अच्छी तरह से किया गया! –

+0

हाँ, धन्यवाद। +1 – fnc12

28

तुलना करने के लिए तारीखों का उपयोग -compare: विधि:

वापसी मूल्य हैं:

  • रिसीवर और anotherDate वास्तव में एक दूसरे के बराबर हैं, NSOrderedSame
  • रिसीवर बाद में है किसी अन्य दिनांक की तुलना में समय, NSOrderedDesc
  • रिसीवर anotherDate से समय में पहले है, NSOrderedAscending अंत हो गया।
11

आप के रूप में NSDates:

NSDate *datStartDate = [NSDate dateWithString:@"2010-10-01 03:00:00 +0900"]; 
NSDate *datEndDate = [NSDate dateWithString:@"2010-10-01 04:00:00 +0900"]; 

if (([datStartDate compare:datEndDate]) == NSOrderedDescending) { 
    ... 
} 
+0

'प्राकृतिक भाषा' के साथ तार का निर्माण अब पूरी तरह से हटा दिया गया है और इस संकलन नहीं होंगे। – Lewis42

17

के बारे में क्या ...

if ([datStartDate earlierDate: datEndDate] == datStartDate) { 
    // datStartDate is earlier 
} else { 
    // datEndDate is earlier 
} 
+0

बहुत बहुत धन्यवाद :) – Supertecnoboff

2

स्वीकार किए जाते हैं जवाब की स्विफ्ट 2 संस्करण:

if firstDate.timeIntervalSinceDate(secondDate) > 0 { 
    // firstDate is greater (further in the future) than secondDate 
} 
संबंधित मुद्दे