How to check if date (from date picker) is between two other dates ? objective-c

后端 未结 3 628
醉话见心
醉话见心 2021-01-27 20:49

i\'m trying to get date from UIDatePicker (MM-dd format) and to check if its in the range of two other dates;

i have tried it in so many different ways and i think my mi

相关标签:
3条回答
  • 2021-01-27 21:22

    If you have dateA, dateB and dateC, and you want to check if dateA < dateB < dateC, you can get the difference between dateA-dateB and dateB-dateC which will give you diffX and diffY. If diffX sign is equal than diffY sign, it will mean that dateB is between A and C.

    Or, in other words, your code would look like this:

    NSTimeInterval diffX = [dateB timeIntervalSinceDate:dateA];
    NSTimeInterval diffY = [dateC timeIntervalSinceDate:dateB];
    
    if (signbit(diffX) == signbit(diffY))
    {
        // dateB is in-between dateA and dateC
    }
    
    0 讨论(0)
  • 2021-01-27 21:24

    Methods laterDate and earlierDate return an NSDate.

    You should use instead compare: and check the return value.

    0 讨论(0)
  • 2021-01-27 21:42

    You can add a year (the same one for both) and then get the time from 1970 for instance and then do your comparisons.

    0 讨论(0)
提交回复
热议问题