2012-02-07 45 views
3

我有日期,例如:2012-02-07 14:09:46.109950,我需要时间戳1328623786.568740,有我的代码:时间戳在Objective-C

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,0.110000 - 是圆的。请帮我取得不圆整的结果。

回答

6

功能CFAbsoluteTimeGetCurrent();

CFDateGetTimeIntervalSinceDate(CFDateRef theDate, CFDateRef otherDate);

CFDateGetAbsoluteTime(CFDateRef theDate);

UPDATE:你的价值在这里自动四舍五入 NSDate *date = [dateFormat dateFromString:@"2012-02-07 14:09:46.109950"];

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

结果:

2012-02-07 14:09:46.110000 
+0

-1用户已有日期。 – Eimantas 2012-02-07 13:36:22

+0

@Eimantas我加了CFDateGetTimeIntervalSinceDate – SAKrisT 2012-02-07 13:37:44

+0

更新了我的投票 – Eimantas 2012-02-07 13:38:26