您的位置:首页 > 其它

计算给定时间与现在的时间差

2016-07-04 17:32 239 查看
- (void)timerFireMethod:(NSTimer *)timer
{
    NSCalendar *calendar = [NSCalendar
currentCalendar];
    
    // 目标时间
    NSDateFormatter *dateFormatter = [[NSDateFormatter
alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSDate *fireDate = [dateFormatter
dateFromString:self.endtime];
    
    NSDate *today = [NSDate
date];//当前时间
    
    unsigned
int unitFlags = NSCalendarUnitDay |
NSHourCalendarUnit | NSMinuteCalendarUnit |
NSSecondCalendarUnit;
    NSDateComponents *d = [calendar
components:unitFlags fromDate:today
toDate:fireDate options:0];//计算时间差
    
    NSString *day = [d
day] > 0 ? [NSString
stringWithFormat:@"%zd天", [d
day]] : @"";
    NSString *hour = [d
hour] > 0 ? [NSString
stringWithFormat:@"%zd小时", [d
hour]] : @"";
    NSString *minute = [d
minute] > 0 ? [NSString
stringWithFormat:@"%zd分", [d
minute]] : @"";
    NSString *second = [d
second] > 0 ? [NSString
stringWithFormat:@"%zd秒", [d
second]] : @"";
    
    self.calendar.text = [NSString
stringWithFormat:@"%@%@%@%@后截止", day, hour, minute, second];//倒计时显示
    if([d
day]<0 || [d
hour]<0 || [d
minute]<0 || [d
second]<0) {
        self.calendar.text =
@"已结束";
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: