iOS 时间和时间戳之间转化\UIColor扩展

//返回时间格式

NSCalendar  *calendar = [NSCalendar currentCalendar];

//1.获取当前的时间

NSDate *currentDate = [NSDate date];

// 获取年,月,日

NSDateComponents *components = [calendar components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay fromDate:currentDate];

NSInteger currentYear = components.year;

NSInteger currentMonth = components.month;

NSInteger currentDay = components.day;

//2.获取消息发送时间

NSDate *msgDate = [NSDate dateWithTimeIntervalSince1970:timestamp/1000.0];

// 获取年,月,日

components = [calendar components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay fromDate:msgDate];

CGFloat msgYead = components.year;

CGFloat msgMonth = components.month;

CGFloat msgDay = components.day;

//3.判断:

/*今天:(HH:mm)

*昨天: (昨天 HH:mm)

*昨天以前:(2016-09-06 15:27)

*/

NSDateFormatter *dateFmt = [[NSDateFormatter alloc] init];

if (currentYear == msgYead&& currentMonth == msgMonth&& currentDay == msgDay) {//今天 

    dateFmt.dateFormat= @"hh:mm";

}else if(currentYear == msgYead&& currentMonth == msgMonth&& currentDay - 1 == msgDay){//昨天

    dateFmt.dateFormat= @"昨天 hh:mm";

}else{//昨天以前

    dateFmt.dateFormat= @"yyy-MM-dd hh:mm";

}

//最终得到的时间

NSString * dateStr = [dateFmt stringFromDate:msgDate];

UIColor扩展(colorWithHexString)

UIColor+Hex.h

#import   

#define RGBA_COLOR(R, G, B, A) [UIColor colorWithRed:((R) / 255.0f) green:((G) / 255.0f) blue:((B) / 255.0f) alpha:A]  
#define RGB_COLOR(R, G, B) [UIColor colorWithRed:((R) / 255.0f) green:((G) / 255.0f) blue:((B) / 255.0f) alpha:1.0f]  

@interface UIColor (Hex)  

+ (UIColor *)colorWithHexString:(NSString *)color;  

//从十六进制字符串获取颜色,  
//color:支持@“#123456”、 @“0X123456”、 @“123456”三种格式  
+ (UIColor *)colorWithHexString:(NSString *)color alpha:(CGFloat)alpha;  

@end  

UIColor+Hex.m

#import "UIColor+Hex.h"  

@implementation UIColor (Hex)  

+ (UIColor *)colorWithHexString:(NSString *)color alpha:(CGFloat)alpha  
{  
    //删除字符串中的空格  
    NSString *cString = [[color stringByTrimmingCharactersInSet:    [NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString];  
    // String should be 6 or 8 characters  
    if ([cString length] < 6)  
    {  
        return [UIColor clearColor];  
    }  
    // strip 0X if it appears  
    //如果是0x开头的,那么截取字符串,字符串从索引为2的位置开始,一直到末尾  
    if ([cString hasPrefix:@"0X"])  
    {  
        cString = [cString substringFromIndex:2];  
    }  
    //如果是#开头的,那么截取字符串,字符串从索引为1的位置开始,一直到末尾  
    if ([cString hasPrefix:@"#"])  
    {  
        cString = [cString substringFromIndex:1];  
    }  
    if ([cString length] != 6)  
    {  
        return [UIColor clearColor];  
    }  
  
    // Separate into r, g, b substrings  
    NSRange range;  
    range.location = 0;  
    range.length = 2;  
    //r  
    NSString *rString = [cString substringWithRange:range];  
    //g  
    range.location = 2;  
    NSString *gString = [cString substringWithRange:range];  
    //b  
    range.location = 4;  
    NSString *bString = [cString substringWithRange:range];  
  
    // Scan values  
    unsigned int r, g, b;  
    [[NSScanner scannerWithString:rString] scanHexInt:&r];  
    [[NSScanner scannerWithString:gString] scanHexInt:&g];  
    [[NSScanner scannerWithString:bString] scanHexInt:&b];  
    return [UIColor colorWithRed:((float)r / 255.0f) green:((float)g / 255.0f) blue:((float)b / 255.0f) alpha:alpha];  
}  

//默认alpha值为1  
+ (UIColor *)colorWithHexString:(NSString *)color  
{  
    return [self colorWithHexString:color alpha:1.0f];  
}  

@end  

使用方法:

 将UIColor+Hex.h和UIColor+Hex.m加入到工程。

 调用方式:

[UIColor colorWithHexString:@"#3498c8"];

你可能感兴趣的:(iOS 时间和时间戳之间转化\UIColor扩展)