reinaldoluckman
reinaldoluckman

Reputation: 6348

UIDatePicker in UIDatePickerModeCountDownTimer mode: how to get/set the hours and minutes via code?

How to get/set the hours and minutes via code from a UIDatePicker in UIDatePickerModeCountDownTimer mode?

The situation:

How do I do that with the UIDatePicker in UIDatePickerModeCountDownTimer mode?

Thanks in advance.

Upvotes: 2

Views: 11782

Answers (1)

Paulo Fierro
Paulo Fierro

Reputation: 603

You have to use the countDownDuration property in UIDatePicker when the date picker mode is set to UIDatePickerModeCountDownTimer.

The countdown duration is in seconds, so you can calculate that from a NSDate as follows (to test it just drop it into the viewDidLoad of any UIViewController):

// Create a new date with the current time
NSDate *date = [NSDate new];
// Split up the date components
NSDateComponents *time = [[NSCalendar currentCalendar] 
                            components:NSHourCalendarUnit | NSMinuteCalendarUnit 
                            fromDate:date];
NSInteger seconds = ([time hour] * 60 * 60) + ([time minute] * 60);

UIDatePicker *picker = [UIDatePicker new];
[picker setDatePickerMode:UIDatePickerModeCountDownTimer];
[picker setCountDownDuration:seconds];
[[self view] addSubview:picker];

So if the current time is 17:28, the UIDatePicker will show "17 hours 28 mins". Simly replace the NSDate with the one you get from the DB and you should be sorted :)

Upvotes: 20

Related Questions