1 つのテキスト フィールド値を検索する方法は、現在の日付を除く過去 60 日以内です。
たとえば、テキスト フィールドに20-July-2012を使用して値を入力すると、[送信Date Picker
] をクリックすると、特定の日付が 60 日以内であるかどうかがチェックされます。60 日より前の値を入力すると、警告メッセージが表示されます。値は api から取得されます。
1 つのテキスト フィールド値を検索する方法は、現在の日付を除く過去 60 日以内です。
たとえば、テキスト フィールドに20-July-2012を使用して値を入力すると、[送信Date Picker
] をクリックすると、特定の日付が 60 日以内であるかどうかがチェックされます。60 日より前の値を入力すると、警告メッセージが表示されます。値は api から取得されます。
NSDate *today = [NSDate date];
NSTimeInterval dateTime;
if ([pickerDate isEqualToDate:today]) //pickerDate is a NSDate
{
NSLog (@"Dates are equal");
}
dateTime = ([pickerDate timeIntervalSinceDate:today] / 86400);
if(dateTime < 0) //Check if visit date is a past date, dateTime returns - val
{
NSLog (@"Past Date");
}
else
{
NSLog (@"Future Date");
}
クエリに合わせて 86400 の値を変更します。この場合は、比較する秒数です。
まず、テキストを に変換しますNSDate
。次に使用します
timeIntervalSinceDate:[NSDate dateWithTimeIntervalSinceNow:0]
テキストを に変換するには、いくつかの方法がありますNSDate
。テキストを正しくフォーマットしてから使用するdateWithString
か、すべてを数値に変換して乗算し、dateWithTimeInterval
メソッドの1つを使用できます。
ユーザーが "July" (プレーン テキストの月) を入力できるようにする場合は、文字列の一致を使用して、月を対応する数値に変換するメソッドを作成する必要があります。
NSDate *lastDate; //your date I hope you have created it
NSDate *todaysDate = [NSDate date];
NSTimeInterval lastDiff = [lastDate timeIntervalSinceNow];
NSTimeInterval todaysDiff = [todaysDate timeIntervalSinceNow];
NSTimeInterval dateDiff = lastDiff - todaysDiff; // number of seconds
int days = dateDiff/(60*60*24); // 5.8 would become 5 as I'm taking int
60日をどのように定義しますか.
NSCalendar
-dateByAddingComponents:toDate:options:
60 日が本当に 60 日であることを確認するために使用することができます。
NSCalendar
また、日付コンポーネントを扱うときに非常に便利な-components:fromDate:
andも提供します。-dateFromComponents:
60 日が実際の暦日である必要がない場合(夏時間の切り替え、天文学的な時間の修正など)、NSDate
時間間隔の方法だけで楽しむことができます。