получите время между двумя разами суток

Шаблон Числовой Инструментарий от NIST имеет инструменты для того, чтобы сделать это.

Один из более надежных путей состоит в том, чтобы использовать Разложение четверти .

Вот пример обертки так, чтобы я мог назвать "GetInverse (A, InvA)" в моем коде, и это поместит инверсию в InvA.

void GetInverse(const Array2D& A, Array2D& invA)
   {
   QR qr(A);  
   invA = qr.solve(I); 
   }

Array2D определяется в библиотеке.

6
задан bdukes 24 November 2009 в 19:55
поделиться

3 ответа

В классе NSDate есть метод timeIntervalSinceDate, который решает эту проблему.

NSTimeInterval secondsBetween = [firstDate timeIntervalSinceDate:secondDate];

NSTimeInterval - это двойное число, которое представляет секунды между двумя моментами времени.

12
ответ дан 8 December 2019 в 02:02
поделиться

Вот мое быстрое решение:

NSDateFormatter *df = [[[NSDateFormatter alloc] init] autorelease];
[df setDateFormat:@"HH:mm"];
NSDate *date1 = [df dateFromString:@"14:10"];
NSDate *date2 = [df dateFromString:@"18:09"];
NSTimeInterval interval = [date2 timeIntervalSinceDate:date1];
int hours = (int)interval / 3600;             // integer division to get the hours part
int minutes = (interval - (hours*3600)) / 60; // interval minus hours part (in seconds) divided by 60 yields minutes
NSString *timeDiff = [NSString stringWithFormat:@"%d:%02d", hours, minutes];
18
ответ дан 8 December 2019 в 02:02
поделиться

Нет необходимости вычислять это вручную, взгляните на NSCalendar. Если Вы хотите получить часы и минуты между двумя датами, используйте что-то вроде этого:

NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSUInteger unitFlags = NSHourCalendarUnit | NSMinuteCalendarUnit;
NSDateComponents *components = [gregorianCalendar components:unitFlags
                                                    fromDate:firstDate
                                                      toDate:otherDate
                                                     options:0];
[gregorianCalendar release];

Теперь у Вас есть часы и минуты как у NSDateComponents и Вы можете получить к ним доступ как NSIntegers как [components hour] и [components minute]. Это также будет работать часами между днями, високосными годами и прочими забавными вещами.

.
30
ответ дан 8 December 2019 в 02:02
поделиться