특정 시간을 나타내는 NSDate
이 있습니다. 해당 날짜의 형식은 hhmmss입니다. 그 시간 값에 NSInterval
값 (초 단위로 지정)을 추가하고 싶습니다.NSTimeInterval을 코코아 NSDate에 추가하십시오.
예 :
NSDate = 123000
NSTimeInterval = 3600
Added together = 133000
이 작업을 수행하는 가장 좋은 방법은 무엇입니까?
특정 시간을 나타내는 NSDate
이 있습니다. 해당 날짜의 형식은 hhmmss입니다. 그 시간 값에 NSInterval
값 (초 단위로 지정)을 추가하고 싶습니다.NSTimeInterval을 코코아 NSDate에 추가하십시오.
예 :
NSDate = 123000
NSTimeInterval = 3600
Added together = 133000
이 작업을 수행하는 가장 좋은 방법은 무엇입니까?
Dates and Times Programming Topics for Cocoa 설명서를 보았습니까?
기본적으로 NSDate로 시간을 변환해야합니다. 문자열을 날짜로 변환하려면 NSDateFormatter
클래스를 사용하거나 이미시, 분 및 초를 알고있는 경우 NSDateComponents
을 사용하십시오.
NSTimeInterval
은 단지 두 배 (즉, 3600.0)입니다.
그런 다음 NSDate의 dateByAddingTimeInterval
메서드를 사용하여 시간 (초)을 더합니다.
NSDate* newDate = [oldDate dateByAddingTimeInterval:3600.0];
그런 다음 NSDateFormatter
또는 NSDateComponents
중 하나가 밖으로 다시, 새로운 시각을 얻을 수 있습니다.
addTimeInterval은 (는) 더 이상 사용되지 않습니다. 대신 dateByAddingTimeInterval을 사용해보세요.
// This will set the time when your view appears it will also
// set the time if you want to retrieve from it.
-(void)viewDidAppear:(BOOL)animated
{
//Create todays date
NSDate *duedate = [NSDate date];
//Add how ever many days you could write 86400*numbe_of_days days 86400/24 for an hour
//Then simply reassign the variable or use a different one.
duedate = [duedate dateByAddingTimeInterval:86400]; //I add one day
[datePicker setDate:duedate animated:YES]; //Animate yes will show your pickers moving
[datePicker setMinimumDate:duedate]; //Set minimum date.
}
감사합니다. –
addTimeInterval : iOS 4.0에서 사용되지 않습니다. dateByAddingTimeInterval을 사용하십시오. - http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSDate_Class/Reference/Reference.html –
@ SeungUnHam 사실. 대답은 iPhone OS 2.x가 최신 버전이었을 때 작성되었지만 현재 권장 사항을 반영하도록 업데이트했습니다. –