红包展示功能的实现,NSDate的一些常用方法
最近在项目中做双十一红包展示功能,看似很小的功能,但是因为之前没做过类似功能,还是有很多小知识点的
1.先准备一些记录时间的属性和计时器
@property (nonatomic, strong) NSDictionary *allTimeDic; //当前所在红包时间段
@property (nonatomic, strong) NSDictionary *otherTimeDic; //当前所在非红包时间段
@property (nonatomic, strong) dispatch_source_t countDowntimer; //倒计时timer
@property (nonatomic, strong) dispatch_source_t normaltimer; //定点触发计时timer
//这里红包时间和非红包时间可根据需求设置
//假设红包活动时间:
self.allTimeDic = @{@"startTimeStr":@"2018-11-11 10:00:00",@"endTimeStr":@"2018-11-11 10:59:59"};
//非活动时间:
self.otherTimeDic = @{@"startTimeStr":@"2018-11-11 00:00:00",@"endTimeStr":@"2018-11-11 09:59:59"};
2.如何进行时间判断,判断当前时间是否在红包活动时间内?
/// 判断某个时间是否在时间段内
-(BOOL)judgeTimeByStartTimeStr:(NSString *)startTimeStr endTimeStr:(NSString *)endTimeStr
{
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *start = [dateFormat dateFromString:startTimeStr];
NSDate *expire = [dateFormat dateFromString:endTimeStr];
NSD