美文网首页
iOS 时间相关方法

iOS 时间相关方法

作者: Ezreallp | 来源:发表于2019-03-26 11:51 被阅读0次

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;
}

相关文章

网友评论

      本文标题:iOS 时间相关方法

      本文链接:https://www.haomeiwen.com/subject/hsycsqtx.html