Преобразуйте NSNumber (дважды) оценивают во время

В окне часов добавьте запятую после названия массива и количества объектов, Вы хотите быть отображенными.

16
задан phx 11 August 2009 в 08:18
поделиться

3 ответа

Окончательное решение:

NSNumber *time = [NSNumber numberWithDouble:([online_time doubleValue] - 3600)];
NSTimeInterval interval = [time doubleValue];    
NSDate *online = [NSDate date];
online = [NSDate dateWithTimeIntervalSince1970:interval];    
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"HH:mm:ss"];

NSLog(@"result: %@", [dateFormatter stringFromDate:online]);
31
ответ дан 30 November 2019 в 16:05
поделиться

Предполагая, что вас интересуют только часы, минуты и секунды, а входное значение - меньше или равно 86400, вы можете сделать что-то вроде этого:

NSNumber *theDouble = [NSNumber numberWithDouble:898.171813964844];

int inputSeconds = [theDouble intValue];
int hours =  inputSeconds / 3600;
int minutes = ( inputSeconds - hours * 3600 ) / 60; 
int seconds = inputSeconds - hours * 3600 - minutes * 60; 

NSString *theTime = [NSString stringWithFormat:@"%.2d:%.2d:%.2d", hours, minutes, seconds];   
9
ответ дан 30 November 2019 в 16:05
поделиться
  1. Преобразуйте значение NSNumber в NSTimeInterval с помощью -doubleValue
  2. Преобразуйте значение NSTimeInterval в NSDate с помощью + dateWithTimeIntervalSinceNow:
  3. Преобразуйте NSDate в NSString с помощью -descriptionWithCalendarFormat: timeZone: locale:
1
ответ дан 30 November 2019 в 16:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: