This commit is contained in:
lianxiang
2018-10-19 20:23:26 +08:00
parent e06dc32099
commit d845ed2cb0
12 changed files with 255 additions and 49 deletions
+25
View File
@@ -0,0 +1,25 @@
//
// GIGaDateHelper.h
// MasKTimeCountTime
//
// Created by lianxiang on 2018/10/19.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface GIGaDateHelper : NSObject
+(NSString *)getNowTimeTimestamp2;
+(NSDate *)getStartDate;
+(void)saveSatrtDate;
+(int)getTimebySubtracting:(NSDate*)Date1 andDate2:(NSDate*)Date2;
+(void)saveisMaskingflag:(BOOL)masking;
+(BOOL)isMasking;
+(void)removeStartDate;
@end
NS_ASSUME_NONNULL_END
+73
View File
@@ -0,0 +1,73 @@
//
// GIGaDateHelper.m
// MasKTimeCountTime
//
// Created by lianxiang on 2018/10/19.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import "GIGaDateHelper.h"
@implementation GIGaDateHelper
//获取当前时间 单位秒
+(NSString *)getNowTimeTimestamp2{
NSDate* dat = [NSDate dateWithTimeIntervalSinceNow:0];
NSLog(@"date :%@",dat);
NSTimeInterval a=[dat timeIntervalSince1970];
NSString*timeString = [NSString stringWithFormat:@"%0.f", a];
//转为字符型 ;
return timeString;
}
+(NSDate *)getStartDate{
NSDate *start = [[NSUserDefaults standardUserDefaults] objectForKey:@"start"];
return start;
}
+(void )saveSatrtDate{
NSDate* dat = [NSDate dateWithTimeIntervalSinceNow:0];
[[NSUserDefaults standardUserDefaults] setObject:dat forKey:@"start"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
+(void)removeStartDate{
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"start"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
+(int)getTimebySubtracting:(NSDate*)Date1 andDate2:(NSDate*)Date2
{
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
unsigned int unitFlags = NSCalendarUnitSecond;
NSDateComponents *comps = [gregorian components: unitFlags fromDate:Date1 toDate:Date2 options:0];
int seconds = (int)[comps second];
return seconds;
}
+(void)saveisMaskingflag:(BOOL)masking{
[[NSUserDefaults standardUserDefaults] setBool:masking forKey:@"isMasking"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
+(BOOL)isMasking{
BOOL ismasking = [[NSUserDefaults standardUserDefaults] boolForKey:@"isMasking"];
return ismasking;
}
@end
+4
View File
@@ -75,4 +75,8 @@
+(void)saveUserTestFlag:(BOOL)tested;
+(BOOL)isUserTest;
+(void)saveisMaskingflag:(BOOL)masking;
+(BOOL)isMasking;
@end
+12
View File
@@ -166,4 +166,16 @@ NSString *const kShowUserTested = @"kShowUserTested";
return showedGaurd;
}
+(void)saveisMaskingflag:(BOOL)masking{
[[NSUserDefaults standardUserDefaults] setBool:masking forKey:@"isMasking"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
+(BOOL)isMasking{
BOOL ismasking = [[NSUserDefaults standardUserDefaults] boolForKey:@"isMasking"];
return ismasking;
}
@end
+1 -1
View File
@@ -15,7 +15,7 @@
* finishTimeStamp 结束的时间戳
*/
-(void)countDownWithStratTimeStamp:(long)starTimeStamp finishTimeStamp:(long)finishTimeStamp completeBlock:(void (^)(NSInteger day,NSInteger hour,NSInteger minute,NSInteger second))completeBlock;
-(void)countDownWithtimerInterval:(NSTimeInterval)timerInterval completeBlock:(void (^)(NSInteger day, NSInteger hour, NSInteger minute, NSInteger second))completeBlock;
/**
* 每秒走一次,回调block
+36
View File
@@ -54,6 +54,42 @@
}
}
-(void)countDownWithtimerInterval:(NSTimeInterval)timerInterval completeBlock:(void (^)(NSInteger, NSInteger, NSInteger, NSInteger))completeBlock{
if (_timer == nil) {
__block int timeout = timerInterval;
if (timeout !=0) {
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
_timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue);
dispatch_source_set_timer(_timer, dispatch_walltime(NULL, 0), 1.0*NSEC_PER_SEC, 0);//每秒执行
dispatch_source_set_event_handler(_timer, ^{
if (timeout<=0) {
//记时结束, 关闭
dispatch_source_cancel(self->_timer);
self->_timer = nil;
dispatch_async(dispatch_get_main_queue(), ^{
completeBlock(0,0,0,0);
});
}else{
int days = (int)(timeout/(3600*24));
int hours = (int)((timeout-days*24*3600)/3600);
int minute = (int)(timeout-days*24*3600-hours*3600)/60;
int second = timeout-days*24*3600-hours*3600-minute*60;
dispatch_async(dispatch_get_main_queue(), ^{
completeBlock(days,hours,minute,second);
});
timeout--;
}
});
dispatch_resume(_timer);
}
}
}
-(void)countDownWithPER_SECBlock:(void (^)(void))PER_SECBlock{
if (_timer==nil) {
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);