1.获取当前时间
/**
获取当前时间(格式为:YYYY-MM-dd HH:mm:ss)
@return 返回获取到当前的时间字符串
*/
+ (NSString *)getCurrentDateString
{
NSDate *currentDate = [NSDate date];//获取当前时间,日期
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
NSString *dateString = [dateFormatter stringFromDate:currentDate];
return dateString;
}
/**
把字符串转化为NSDate类型
@param string 待转换的字符串
@return 转化后的Date
*/
+ (NSDate *)changeStringToDate:(NSString *)string
{
NSDateFormatter* dateFormat = [[NSDateFormatter alloc] init];//实例化一个NSDateFormatter对象
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//设定时间格式,要注意跟下面的dateString匹配,否则日起将无效
return [dateFormat dateFromString:string];
}
3.判断当前时间是否在指定时间段内
/**
判断当前时间是否在指定时间内
@param startDate 开始时间
@param endDateString 结束时间
@return 是否在时间段内
*/
+ (BOOL)isMatchCurrentDateWithStartDate:(NSString *)startDate endDate:(NSString *)endDateString
{
NSDate *currentDate = [self changeStringToDate:[NSDate getCurrentDateString]];
NSDateFormatter* dateFormat = [[NSDateFormatter alloc] init];//实例化一个NSDateFormatter对象
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//设定时间格式,要注意跟下面的dateString匹配,否则日起将无效
if ([currentDate compare:[dateFormat dateFromString:startDate]] ==NSOrderedAscending)
return NO;
if ([currentDate compare:[dateFormat dateFromString:endDateString]] ==NSOrderedDescending)
return NO;
return YES;
}
/**
判断时间是否在另一个时间之后
@param firstDate 需要判断时间
@param secondDate 参考时间
@return 判断结果
*/
+ (BOOL)checkDate:(NSString *)firstDate isBeforDate:(NSString *)secondDate
{
NSDateFormatter* dateFormat = [[NSDateFormatter alloc] init];//实例化一个NSDateFormatter对象
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//设定时间格式,要注意跟下面的dateString匹配,否则日起将无效
if ([[dateFormat dateFromString:firstDate] compare:[dateFormat dateFromString:secondDate]] == NSOrderedAscending) {
return YES;
}
return NO;
}
/**
将十进制转化为十六进制
@param ascii 10进制 int类型
@return 16进制
*/
+ (NSString*)changASCIIToHEX:(NSInteger)ascii
{
NSString* intAscii = [[NSString alloc] initWithFormat:@"%1lx", (long)ascii];
NSString* hex = [NSString stringWithFormat:@"%@", intAscii];
if (hex.length == 5) {
return [NSString stringWithFormat:@"0%@",hex];
}
else {
return hex;
}
/**
将十六进制转化为十进制
@param str 16进制 nsstring类型
@return 10进制
*/
+ (NSInteger)changHEXToASCII:(NSString*)str
{
NSString* temp10 = [NSString stringWithFormat:@"%lu", strtoul([str UTF8String], 0, 16)];
int cycleNumber = [temp10 intValue];
return cycleNumber;
}
/**
判断字符串是否有非法字符(只包含数字、大小写字母、汉字)
@param string 待校验的字符串
@return 校验结果
*/
+ (BOOL)isMatchCommonString:(NSString*)string
{
NSString* str = @"^[A-Za-z0-9\\u4e00-\u9fa5]+$";
NSPredicate* emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", str];
if ([emailTest evaluateWithObject:string]) {
return YES;
}
return NO;
}
/**
验证字符串是否是指定长度的纯数字字符串
@param string 需要匹配的字符串
@param count 数字长度
@return 匹配结果
*/
+ (BOOL)isMatchNumberString:(NSString*)string andCount:(NSInteger)count
{
NSString* regex = [NSString stringWithFormat:@"^[0-9]{%ld}$", (long)count];
NSPredicate* pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
return [pred evaluateWithObject:string];
}
/**
获取手机型号iPhone 5S、iPad 2等
@return 手机型号
*/
+ (NSString*)getPhoneVersion
{
struct utsname systemInfo;
uname(&systemInfo);
NSString* platform = [NSString stringWithCString:systemInfo.machine encoding:NSASCIIStringEncoding];
if ([platform isEqualToString:@"iPhone1,1"])
return @"iPhone 2G";
if ([platform isEqualToString:@"iPhone1,2"])
return @"iPhone 3G";
if ([platform isEqualToString:@"iPhone2,1"])
return @"iPhone 3GS";
if ([platform isEqualToString:@"iPhone3,1"])
return @"iPhone 4";
if ([platform isEqualToString:@"iPhone3,2"])
return @"iPhone 4";
if ([platform isEqualToString:@"iPhone3,3"])
return @"iPhone 4";
if ([platform isEqualToString:@"iPhone4,1"])
return @"iPhone 4S";
if ([platform isEqualToString:@"iPhone5,1"])
return @"iPhone 5";
if ([platform isEqualToString:@"iPhone5,2"])
return @"iPhone 5";
if ([platform isEqualToString:@"iPhone5,3"])
return @"iPhone 5c";
if ([platform isEqualToString:@"iPhone5,4"])
return @"iPhone 5c";
if ([platform isEqualToString:@"iPhone6,1"])
return @"iPhone 5s";
if ([platform isEqualToString:@"iPhone6,2"])
return @"iPhone 5s";
if ([platform isEqualToString:@"iPhone7,1"])
return @"iPhone 6 Plus";
if ([platform isEqualToString:@"iPhone7,2"])
return @"iPhone 6";
if ([platform isEqualToString:@"iPhone8,1"])
return @"iPhone 6s";
if ([platform isEqualToString:@"iPhone8,2"])
return @"iPhone 6s Plus";
if ([platform isEqualToString:@"iPhone8,4"])
return @"iPhone SE";
if ([platform isEqualToString:@"iPhone9,1"])
return @"iPhone 7";
if ([platform isEqualToString:@"iPhone9,2"])
return @"iPhone 7 Plus";
if ([platform isEqualToString:@"iPod1,1"])
return @"iPod Touch 1G";
if ([platform isEqualToString:@"iPod2,1"])
return @"iPod Touch 2G";
if ([platform isEqualToString:@"iPod3,1"])
return @"iPod Touch 3G";
if ([platform isEqualToString:@"iPod4,1"])
return @"iPod Touch 4G";
if ([platform isEqualToString:@"iPod5,1"])
return @"iPod Touch 5G";
if ([platform isEqualToString:@"iPad1,1"])
return @"iPad 1G";
if ([platform isEqualToString:@"iPad2,1"])
return @"iPad 2";
if ([platform isEqualToString:@"iPad2,2"])
return @"iPad 2";
if ([platform isEqualToString:@"iPad2,3"])
return @"iPad 2";
if ([platform isEqualToString:@"iPad2,4"])
return @"iPad 2";
if ([platform isEqualToString:@"iPad2,5"])
return @"iPad Mini 1G";
if ([platform isEqualToString:@"iPad2,6"])
return @"iPad Mini 1G";
if ([platform isEqualToString:@"iPad2,7"])
return @"iPad Mini 1G";
if ([platform isEqualToString:@"iPad3,1"])
return @"iPad 3";
if ([platform isEqualToString:@"iPad3,2"])
return @"iPad 3";
if ([platform isEqualToString:@"iPad3,3"])
return @"iPad 3";
if ([platform isEqualToString:@"iPad3,4"])
return @"iPad 4";
if ([platform isEqualToString:@"iPad3,5"])
return @"iPad 4";
if ([platform isEqualToString:@"iPad3,6"])
return @"iPad 4";
if ([platform isEqualToString:@"iPad4,1"])
return @"iPad Air";
if ([platform isEqualToString:@"iPad4,2"])
return @"iPad Air";
if ([platform isEqualToString:@"iPad4,3"])
return @"iPad Air";
if ([platform isEqualToString:@"iPad4,4"])
return @"iPad Mini 2G";
if ([platform isEqualToString:@"iPad4,5"])
return @"iPad Mini 2G";
if ([platform isEqualToString:@"iPad4,6"])
return @"iPad Mini 2G";
if ([platform isEqualToString:@"i386"])
return @"iPhone Simulator";
if ([platform isEqualToString:@"x86_64"])
return @"iPhone Simulator";
return platform;
}
/**
根据颜色生成图片
@param color 颜色
@return 生成的图片
*/
+ (UIImage*)creatImageWithColor:(UIColor*)color
{
CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage* image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}