// // HttpManager.m // myhome // // Created by hkh on 16/11/6. // #import "Sformat.h" @interface Sformat (){ } @end @implementation Sformat{ } + (NSString *)yyyy_MM_dd{ NSDate *now = [NSDate date]; NSCalendar *calendar = [NSCalendar currentCalendar]; NSUInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit; NSDateComponents *dateComponent = [calendar components:unitFlags fromDate:now]; int year = [dateComponent year]; int month = [dateComponent month]; int day = [dateComponent day]; return [[NSString alloc] initWithFormat:@"%04d-%02d-%02d",year,month,day]; } + (long)timestamp{ NSDate *now = [NSDate date]; return [now timeIntervalSince1970]*1000; } + (long)timestamp:(NSDate *)date{ return [date timeIntervalSince1970]*1000; } + (NSDate *)DateByTimestamp:(NSString *)timestamp{ NSTimeInterval time = [timestamp floatValue] / 1000; return [NSDate dateWithTimeIntervalSince1970:time]; } + (NSString *)yyyy_MM_dd_HH_mm:(NSString *)timestamp{ NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm"]; return [dateFormatter stringFromDate:[self DateByTimestamp:timestamp]]; } + (NSString *)yyyy_MM_dd_HH_mm_cn:(NSString *)timestamp{ NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy年MM月dd日 HH:mm"]; return [dateFormatter stringFromDate:[self DateByTimestamp:timestamp]]; } + (NSDate *)dateWithYearsBeforeNow:(NSInteger)year{ NSDate *currentDate = [NSDate date]; NSCalendar *calendar = nil; if (FALSE) {//IOS8Higher calendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian]; } else { calendar = [NSCalendar currentCalendar]; } NSUInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit; NSDateComponents *dateComponent = [calendar components:unitFlags fromDate:currentDate]; [dateComponent setYear:year * -1]; return [calendar dateFromComponents:dateComponent]; } + (NSDate *)dateWithMonthBeforeNow:(NSInteger)month{ NSDate *currentDate = [NSDate date]; NSCalendar *calendar = nil; //calendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian]; calendar = [NSCalendar currentCalendar]; NSUInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit ; NSDateComponents *dateComponent = [calendar components:unitFlags fromDate:currentDate]; [dateComponent setMonth:-1*month]; return [calendar dateFromComponents:dateComponent]; } + (NSDate *)dateWithDayBeforeNow:(NSInteger)day{ NSDate *currentDate = [NSDate date]; NSCalendar *calendar = nil; if (FALSE) {//IOS8Higher calendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian]; } else { calendar = [NSCalendar currentCalendar]; } NSUInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit; NSDateComponents *dateComponent = [calendar components:unitFlags fromDate:currentDate]; [dateComponent setDay:-1*day]; return [calendar dateFromComponents:dateComponent]; } + (NSString *)Hex:(NSData *)data { if (!data || [data length] == 0) { return @""; } NSMutableString *string = [[NSMutableString alloc] initWithCapacity:[data length]]; [data enumerateByteRangesUsingBlock:^(const void *bytes, NSRange byteRange, BOOL *stop) { unsigned char *dataBytes = (unsigned char*)bytes; for (NSInteger i = 0; i < byteRange.length; i++) { NSString *hexStr = [NSString stringWithFormat:@"%x", (dataBytes[i]) & 0xff]; if ([hexStr length] == 2) { [string appendString:hexStr]; } else { [string appendFormat:@"0%@", hexStr]; } if(i < byteRange.length-1){ [string appendString:@" "]; } } }]; return string; } @end