gpt4 book ai didi

ios - 带有两个日期的 Parse.com 查询

转载 作者:可可西里 更新时间:2023-11-01 05:41:00 24 4
gpt4 key购买 nike

我数据库中的解析对象有一个日期字段,我必须将其用作过滤器以向用户显示特定日期的一些结果。我要求用户选择带有 UIPickerDate 的日期,他们正在使用此约束创建查询:

        [query whereKey:@"meetingDateAndTime" equalTo:appDelegate.meetingDateAndTime]; // appDelegate.meetingDateAndTime represent the UIPickerDate date

问题是,即使我将 UIPickerDate 设置为 UIDatePickerModeDate,日期也包含时间,因此查询不会检索任何内容。然后我想创建另外两个日期,前 1 天的时间为 23:59,另一个 1 天后的时间为 00:00,然后添加两个解析约束,如下所示:

    NSDate *choosedDate = appDelegate.meetingDateAndTime;

NSDateComponents *dayComponentPrev = [[NSDateComponents alloc] init];
NSDateComponents *dayComponentNext = [[NSDateComponents alloc] init];
dayComponentPrev.day = -1;
dayComponentNext.day = +1;
NSCalendar *theCalendar = [NSCalendar currentCalendar];
NSDate *prevDate = [theCalendar dateByAddingComponents:dayComponentPrev toDate:choosedDate options:0];
NSDate *nextDate = [theCalendar dateByAddingComponents:dayComponentNext toDate:choosedDate options:0];

NSDateComponents *componentsPrev = [theCalendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:prevDate];
[componentsPrev setHour:23];
[componentsPrev setMinute:59];
NSDate *prevOk = [theCalendar dateFromComponents:componentsPrev];

NSDateComponents *componentsNext = [theCalendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:nextDate];
[componentsNext setHour:0];
[componentsNext setMinute:0];
NSDate *nextOk = [theCalendar dateFromComponents:componentsNext];

[query whereKey:@"meetingDateAndTime" greaterThan:prevOk];
[query whereKey:@"meetingDateAndTime" lessThan:nextOk];

该解决方案有效,但我想知道是否有更优雅的方法来执行此操作。作为 IOS 和 Parse 的新手,我倾向于使事情过于复杂......有什么建议吗?

最佳答案

不,这是最好的解决方案。

您可以做的是确保您创建的任何 session 对象始终具有相同的时间。日期并不是真正的日期,它是一个时间点,所以没有时间就没有日期。

所以获取日期等于今天的所有内容是没有意义的,因为没有日期“今天”。

因此,如果您将每个事件的时间设置为所选日期的 00:00,则您可以查询所选日期 00:00 的所有 session 。

否则,您所做的查询将是最好的。

关于ios - 带有两个日期的 Parse.com 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25124412/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com