Я пытаюсь вынудить пользователя выбрать дату в будущем со средством выбора даты. Я, очевидно, использовал сравнивание: метод, однако, когда я делаю следующий код, даже если это - та же дата как [дата NSDate], это говорит выполнение если оператор. Вот мой код:
if ([datePicker.date compare:[NSDate date]] == NSOrderedAscending) // If the picked date is earlier than today
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Hmm, this date is earlier than today"
message:@"The date you've selected is earlier than today's date, please pick another"
delegate:nil
cancelButtonTitle:@"Okay, I'll pick another"
otherButtonTitles:nil];
// Show the alert
[alert show];
// Release the alert
[alert release];
}
Я не знаю ответа на вашу проблему, но как вы можете ее обойти.
Просто используйте свойство minimumDate свойства UIDatePicker, это даже гораздо более чистый подход.
% ld или% lu в зависимости от требуемой длины.
-121--4577916-Вы можете взглянуть на Adyen (www.adyen.com). Они европейские и обеспечивают множество функций и очень дружелюбный интерфейс. Они не взимают ежемесячный или установленный комиссионный сбор и, похоже, по разумной цене за операцию.
Их страница с размещенными платежами может быть полностью настроена, что стало для нас удивительным улучшением.
-121--3348524-Можно использовать функцию
[datePicker.date timeIntervalSinceNow]
, которая возвращает NSTimeInterval (только typedef для двойника, в единицах секунды), который является положительным для будущего и отрицательным для прошлого.
Как говорится в документе, сравнение обеспечивает сравнение секунд, поэтому вы можете использовать это, чтобы принудить их дату на полный день позже (вместо того, чтобы когда-то в будущем).
Объект NSDate содержит как дату, так и время, поэтому существует МНОЖЕСТВО дат с одним и тем же днем, которые могут выпадать до или после другой даты с тем же днем. .
Метод класса date
возвращает объект даты с текущим днем даты И временем.