如何计算今天的NSTimeInterval,小时分秒为零?
我知道今天的NSTimeInterval是这样的:
NSTimeInterval today = [[NSDate date] timeIntervalSince1970];
但我怎样才能重置时间?
答案 0 :(得分:1)
NSDate *currentDate = [NSDate date];
NSDateComponents *currentDateComponents = [calendar components:NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit fromDate:currentDate];
NSDateComponents *currentDateToMidnight = [[NSDateComponents alloc] init];
[currentDateToMidnight setHour:-[currentDateComponents hour]];
[currentDateToMidnight setMinute:-[currentDateComponents minute]];
[currentDateToMidnight setSecond:-[currentDateComponents second]];
NSDate *midnight = [calendar dateByAddingComponents:currentDateToMidnight toDate:currentDate options:0];
NSTimeInterval todayTimeInterval = [midnight timeIntervalSince1970];
答案 1 :(得分:0)
您需要使用NSDateComponents
来获取今天的年,月和日,然后您可以在午夜创建一个日期。
答案 2 :(得分:0)
NSTimeInterval
now
后,inline NSTimeInterval trimTimeInterval(NSTimeInterval interval)
{
static NSTimeInterval const day = 3600 * 24;
return day * floor(interval / day);
}
调用以下函数:
interval
首先,我们计算{{1}}中的整数天数,然后返回相同的值,但时间元素除外。
但请注意,此代码不会考虑时区。因此,对于GMT + N> 0,您最终可能会在5月23日而不是5月24日结束。