2012-07-26 8 views
0

텍스트 필드 값을 찾는 방법은 현재 날짜를 제외하고 지난 60 일 이내입니다. 내가 제출을 클릭 그 때는 내가 텍스트 필드에 값을 입력하면 예를 들어어떻게 확인할 수 있습니까 NSDATE

Date Picker를 사용하여 20 7 월 2012, 그것은 특정을 확인할 것입니다 날짜 60 일 여부에 있습니다. 60 일 이전의 값을 입력하면 경고 메시지가 표시됩니다. 값은 API에서 검색됩니다.

답변

1
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의 값을 변경하십시오.이 경우 비교할 시간 (초)입니다.

0

먼저 텍스트를 NSDate으로 변환하십시오. 그런 다음 NSDate에 텍스트를 변환하는 몇 가지 방법이 있습니다

timeIntervalSinceDate:[NSDate dateWithTimeIntervalSinceNow:0]

사용합니다. 텍스트의 서식을 올바르게 지정한 다음 dateWithString을 사용하거나 모든 것을 숫자로 변환하거나 곱하거나 dateWithTimeInterval 메서드 중 하나를 변환 할 수 있습니다.

사용자가 "July"(일반 텍스트 월)을 입력 할 수있게하려면 달을 문자열 일치와 함께 해당 숫자로 변환하는 메서드를 작성해야 할 수 있습니다.

0
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 
0

어떻게 60 일을 정의합니까?

당신은 NSCalendar -dateByAddingComponents:toDate:options: 이 육십일 확인하는 데 사용할 수 있습니다

정말 육십일입니다.

NSCalendar 또한 -components:fromDate:-dateFromComponents:을 제공하며 날짜 구성 요소를 처리 할 때 매우 유용합니다.

60 만약 일이, 당신은 단지 NSDate 재미 혼자 시간 간격 방법이있을 수 사실 일 (일광 절약 시간 스위치, 천문학적 인 시간 수정, 같은 물건) 할 필요가 없습니다.

관련 문제