Отметка времени в Objective-C - PullRequest
3 голосов
/ 07 февраля 2012

У меня есть дата, например: 2012-02-07 14:09:46.109950, и мне нужна метка времени как 1328623786.568740, там есть мой код:

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSSSSS"];
[dateFormat setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSDate *date = [dateFormat dateFromString:@"2012-02-07 14:09:46.109950"];
NSTimeInterval interval = [date timeIntervalSince1970];
[dateFormat release];

NSLog(@"%f", interval);

Но теперь у меня есть такой результат 1328623786.110000, .110000 -округляется.Пожалуйста, помогите мне получить не округленный результат.

1 Ответ

6 голосов
/ 07 февраля 2012

функция CFAbsoluteTimeGetCurrent();

или CFDateGetTimeIntervalSinceDate(CFDateRef theDate, CFDateRef otherDate);

или CFDateGetAbsoluteTime(CFDateRef theDate);

ОБНОВЛЕНИЕ : здесь автоматически округляется ваше значение NSDate *date = [dateFormat dateFromString:@"2012-02-07 14:09:46.109950"];

NSLog(@"%@", [dateFormat stringFromDate:date]);

результат:

2012-02-07 14:09:46.110000
...