gpt4 book ai didi

ios - PF按日期查询

转载 作者:行者123 更新时间:2023-12-01 17:52:02 25 4
gpt4 key购买 nike

我正在尝试使用PFQuery搜索包含某个日期(没有时间)的所有结果。我似乎无法弄清楚为什么它不起作用。我正在使用的代码如下。

 NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"YYY-MM-dd"];
NSString *today;
today = [dateFormat stringFromDate:[NSDate date]];

PFQuery *query = [PFQuery queryWithClassName:@"Booking"];

[query whereKey:@"nextAppointment" equalTo:today];

[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) { etc etc...

使用解析网站将nextAppointment字段设置为日期。
任何帮助,将不胜感激

最佳答案

NSDate对象和“Parse.com日期”字段均具有包含小时和分钟的确切时间。这意味着,如果您要查找某个日期的约会,则实际上是在搜索日期范围:该日期的从12:00 am到11:59 pm的范围。

如果您创建的NSDate没有明确的小时和分钟,则Parse不会知道您的意思是“当天的所有日期”-它通过填充小时和分钟并搜索确切的时间来解释它。您可以通过日期范围搜索来解决此问题。

这是一个如何从我的一个应用程序中执行此操作的示例,已针对您的目的对其进行了修改:

//Create two dates for this morning at 12:00am and tonight at 11:59pm
NSDate *now = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit) fromDate:now];
[components setHour:0];
[components setMinute:0];
[components setSecond:1];
NSDate *morningStart = [calendar dateFromComponents:components];

[components setHour:23];
[components setMinute:59];
[components setSecond:59];
NSDate *tonightEnd = [calendar dateFromComponents:components];

PFQuery *query = [PFQuery queryWithClassName:@"Booking"];
[query whereKey:@"nextAppointment" greaterThan:morningStart];
[query whereKey:@"nextAppointment" lessThan:tonightEnd];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
//Etc...
}
}];

关于ios - PF按日期查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26973914/

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