Вероятно, необходимо создать wxWidgets. Существует шаг постсборки в wxWidgets процессе сборки, который копирует соответствующий setup.h в C:\wxWidgets_install_dir\include\wx.
псевдокод:
minutes = floor(326.4/60)
seconds = round(326.4 - minutes * 60)
Поскольку это, по сути, двойное ...
Разделите на 60,0 и извлеките целую часть и дробную часть.
Целой частью будет целое количество минут.
Снова умножьте дробную часть на 60.0.
Результатом будут оставшиеся секунды.
Краткое описание
Используйте метод NSCalendar:
(NSDateComponents *) компоненты: (NSUInteger) unitFlags fromDate: (NSDate *) startDate toDate: (NSDate *) Параметры resultDate: (NSUInteger) opts
«Возвращает в качестве объекта NSDateComponents с использованием указанных компонентов разницу между двумя предоставленными датами». Из документации API.
Создайте 2 NSDate, отличием которых является NSTimeInterval, который вы хотите преобразовать. (Если ваш NSTimeInterval получен из сравнения 2 NSDate, вам не нужно делать этот шаг, и вам даже не нужен NSTimeInterval).
Получите цитаты из NSDateComponents
Пример кода
// The time interval
NSTimeInterval theTimeInterval = 326.4;
// Get the system calendar
NSCalendar *sysCalendar = [NSCalendar currentCalendar];
// Create the NSDates
NSDate *date1 = [[NSDate alloc] init];
NSDate *date2 = [[NSDate alloc] initWithTimeInterval:theTimeInterval sinceDate:date1];
// Get conversion to months, days, hours, minutes
unsigned int unitFlags = NSHourCalendarUnit | NSMinuteCalendarUnit | NSDayCalendarUnit | NSMonthCalendarUnit;
NSDateComponents *conversionInfo = [sysCalendar components:unitFlags fromDate:date1 toDate:date2 options:0];
NSLog(@"Conversion: %dmin %dhours %ddays %dmoths",[conversionInfo minute], [conversionInfo hour], [conversionInfo day], [conversionInfo month]);
[date1 release];
[date2 release];
Известные проблемы