NSDate转NSString
(自定义 默认格式:@"yyyy-MM-dd HH:mm:ss")
+ (NSString *)getStringForDate:(NSDate *)date format:(NSString *)aFormat {
@try {
if (![date isKindOfClass:[NSDate class]]) {
return nil;
}
NSString *format = aFormat;
//如果aFormat为空,则设置format为默认格式
if (![aFormat isKindOfClass:[NSString class]] || aFormat.length <= 0)
format = @"yyyy-MM-dd HH:mm:ss";
// 实例化一个NSDateFormatter对象
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
// 设定时间格式,这里可以设置成自己需要的格式
[dateFormatter setDateFormat:format];
// 用[NSDate date]可以获取系统当前时间
NSString *currentDateStr = [dateFormatter stringFromDate:date];
return currentDateStr;
}
@catch (NSException *exception) {
NSLog(@"%@", exception);
return nil;
}
}
NSString转NSDate
/// NSString 转换 Date (自定义 默认格式:@"yyyy-MM-dd HH:mm:ss")
+ (NSDate *)getDateForString:(NSString *)string format:(NSString *)aFormat {
@try {
if (F_IsStringValue_GtEmpty(string)) {
return nil;
}
NSString *format = aFormat;
if (F_IsStringValue_GtEmpty(format))
format = @"yyyy-MM-dd HH:mm:ss";
//实例化一个NSDateFormatter对象
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
//设定时间格式,这里可以设置成自己需要的格式
[dateFormatter setDateFormat:format];
return [dateFormatter dateFromString:string];
}
@catch (NSException *exception) {
NSLog(@"%@", exception);
return nil;
}
}
相同日期比较
+ (BOOL)isSameDay:(NSDate *)date1 date2:(NSDate *)date2 {
[NSDate timeIntervalSinceReferenceDate];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSUInteger unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay;
NSDateComponents *comp1 = [calendar components:unitFlags fromDate:date1];
NSDateComponents *comp2 = [calendar components:unitFlags fromDate:date2];
return [comp1 day] == [comp2 day] && [comp1 month] == [comp2 month] && [comp1 year] == [comp2 year];
}
获取安全方法中时间戳(长度:4)
+ (NSData *)getTimestampsWithSecurity {
NSTimeInterval timeInterval = [[NSDate new] timeIntervalSince1970];
unsigned int time = timeInterval;
time = NSSwapHostIntToBig(time);
NSData *timeData = [NSData dataWithBytes:&time length:sizeof(time)];
return timeData;
}