if (datStartDate > datEndDate) {
से अधिक है, यह काम नहीं कर रहा है। मुझे पता है कि isEqual
इत्यादि है, लेकिन मैं "से अधिक" कैसे कर सकता हूं?यह जांचना कि क्या एक एनएसडीएटी
NSDate
दोनों हैं।
if (datStartDate > datEndDate) {
से अधिक है, यह काम नहीं कर रहा है। मुझे पता है कि isEqual
इत्यादि है, लेकिन मैं "से अधिक" कैसे कर सकता हूं?यह जांचना कि क्या एक एनएसडीएटी
NSDate
दोनों हैं।
सबसे आसान तरीका मैं बारे में पता कर रहा हूँ है:
if([firstDate timeIntervalSinceDate:secondDate] > 0) {
अन्य उत्तर तुलना कवर :, कुछ स्वाद जोड़ना चाहते थे;) ।
तुलना करने के लिए तारीखों का उपयोग -compare:
विधि:
वापसी मूल्य हैं:
- रिसीवर और anotherDate वास्तव में एक दूसरे के बराबर हैं, NSOrderedSame
- रिसीवर बाद में है किसी अन्य दिनांक की तुलना में समय, NSOrderedDesc
- रिसीवर anotherDate से समय में पहले है, NSOrderedAscending अंत हो गया।
आप के रूप में 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) {
...
}
'प्राकृतिक भाषा' के साथ तार का निर्माण अब पूरी तरह से हटा दिया गया है और इस संकलन नहीं होंगे। – Lewis42
के बारे में क्या ...
if ([datStartDate earlierDate: datEndDate] == datStartDate) {
// datStartDate is earlier
} else {
// datEndDate is earlier
}
बहुत बहुत धन्यवाद :) – Supertecnoboff
स्वीकार किए जाते हैं जवाब की स्विफ्ट 2 संस्करण:
if firstDate.timeIntervalSinceDate(secondDate) > 0 {
// firstDate is greater (further in the future) than secondDate
}
चालाक विचार :) +1 – lukya
उपयोगकर्ता एनएसडीएटी की तुलना में बहुत आसान है तुलना: अच्छी तरह से किया गया! –
हाँ, धन्यवाद। +1 – fnc12