iOS 時間和時間戳之間轉(zhuǎn)化\UIColor擴展

//返回時間格式

NSCalendar  *calendar = [NSCalendar currentCalendar];

//1.獲取當(dāng)前的時間

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.獲取消息發(fā)送時間

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 <UIKit/UIKit.h>  

#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加入到工程。

 調(diào)用方式:

[UIColor colorWithHexString:@"#3498c8"];
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容