iOS开发之-- 抢购、距活动结束,剩余时间倒计时

时间:2025-01-07 09:33:02

因为没有时间去着重研究过这个东西,只是知道大体上的逻辑,就是两个时间才行比对,具体的实现也是参考别人的写的方法,

只是做个记录,有时间会好好看看这个东西,具体代码如下:

/**
* 倒计时
*
* @param endTime 截止的时间戳
*
* @return 返回的剩余时间
*/
- (NSString*)remainingTimeMethodAction:(long long)endTime
{
//得到当前时间
NSDate *nowData = [NSDate date];
NSDate *endData=[NSDate dateWithTimeIntervalSince1970:endTime];
NSCalendar* chineseClendar = [ [ NSCalendar alloc ] initWithCalendarIdentifier:NSGregorianCalendar ];
NSUInteger unitFlags =
NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit | NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit;
NSDateComponents *cps = [chineseClendar components:unitFlags fromDate:nowData toDate: endData options:];
NSInteger Hour = [cps hour];
NSInteger Min = [cps minute];
NSInteger Sec = [cps second];
NSInteger Day = [cps day];
NSInteger Mon = [cps month];
NSInteger Year = [cps year];
NSLog( @" From Now to %@, diff: Years: %d Months: %d, Days; %d, Hours: %d, Mins:%d, sec:%d",
[nowData description], Year, Mon, Day, Hour, Min,Sec );
NSString *countdown = [NSString stringWithFormat:@"还剩: %zi天 %zi小时 %zi分钟 %zi秒 ", Day,Hour, Min, Sec];
if (Sec<) {
countdown=[NSString stringWithFormat:@"活动结束/开始抢购"];
}
return countdown;
}