从UnixTime Value中删除秒数

时间:2011-02-21 23:51:33

标签: objective-c unix-timestamp

所以我有一个unixtime日期时间戳。为了论证,让我们说它现在是21/02/2011(GMT)的23:49:24。这将是:

  

1298332164

现在,无论如何要从中删除秒组件?我在Obj-C写这个,所以我现在有:

NSDate *todayNow = [NSDate date];
int unixtimeNow = [todayNow timeIntervalSince1970];

并最终得到:

  

1298332140

由于

3 个答案:

答案 0 :(得分:2)

在Cocoa中,你可以这样做:

NSCalendar *calendar = [NSCalendar currentCalendar];
NSUInteger calendarUnits = NSEraCalendarUnit | NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit;
NSDateComponents *dateComps = [calendar components:calendarUnits fromDate:todayNow];
[dateComps setSecond:0];
NSDate *todayNowNoSeconds = [calendar dateFromComponents:dateComps];

答案 1 :(得分:1)

1298332164/60 * 60怎么办?

答案 2 :(得分:1)

NSTimeInterval seconds =  fmod([self timeIntervalSince1970], 60);    
NSDate *secondsTrimmedDtae =  [self dateByAddingTimeInterval:-seconds];

注意self指的是NSDate实例,你必须用你的日期对象替换self。