Objective c 从UnixTime值中删除秒数

Objective c 从UnixTime值中删除秒数,objective-c,unix-timestamp,Objective C,Unix Timestamp,所以我有一个unixtime日期时间戳。为了便于辩论,假设现在是2011年2月21日(格林尼治标准时间)23:49:24。这将是: 1298332164 现在,是否有必要从中删除秒组件?我在Obj-C中写这篇文章,所以目前我有: NSDate *todayNow = [NSDate date]; int unixtimeNow = [todayNow timeIntervalSince1970]; 最终将导致: 1298332140 谢谢1298332164/60*60怎么样?12983321

所以我有一个unixtime日期时间戳。为了便于辩论,假设现在是2011年2月21日(格林尼治标准时间)23:49:24。这将是:

1298332164

现在,是否有必要从中删除秒组件?我在Obj-C中写这篇文章,所以目前我有:

NSDate *todayNow = [NSDate date];
int unixtimeNow = [todayNow timeIntervalSince1970];
最终将导致:

1298332140


谢谢

1298332164/60*60怎么样?

1298332164/60*60怎么样?

在可可中,您可以这样做:

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];

在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];
注self指的是
NSDate
实例,您必须用日期对象替换self


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

如果您将Y除以X,然后将Y乘以X,您将得到Y?@ing0:No。这是有效的,因为C中的整数除法会去除除法的剩余部分,因此,
1298332164/60
的结果是
21638869
而不是
21638869.4
。如果你将Y除以X,然后将Y乘以X,你将得到Y?@ing0:No。这是有效的,因为C中的整数除法会去除除法的剩余部分,因此,
1298332164/60
的结果是
21638869
而不是
21638869.4
。谢谢,我玩过NSDateComponents,但运气不太好。我会试试的,谢谢+1无论如何。您的解决方案更加优雅,但对于跨平台而言,/60*60更易于实现!谢谢,我玩了一个NSDATE组件,但运气不太好。我会试试的,谢谢+1无论如何。您的解决方案更加优雅,但对于跨平台而言,/60*60更易于实现!