其他

NSString与NSDate、NSData互转

2016-05-04  本文已影响1093人  CrazySteven

NSString转NSDate(类方法)

+(NSDate*) convertDateFromString:(NSString*)uiDate
{
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init] ;
    [formatter setDateFormat:@"yyyy年MM月dd日"];
    NSDate *date=[formatter dateFromString:uiDate];
    return date;
}

NSString转NSDate(实例方法)

输入的日期字符串形如:@"2016-05-04 13:08:08"

- (NSDate *)dateFromString:(NSString *)dateString
{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat: @"yyyy-MM-dd HH:mm:ss"]; 
    NSDate *destDate= [dateFormatter dateFromString:dateString];
    return destDate;
}

NSDate转NSString(实例方法)

- (NSString *)stringFromDate:(NSDate *)date
{
    NSDateFormatter *dateFormatter = [[NSDateFormatteralloc] init]; 
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zzz"];//zzz表示时区
    NSString *destDateString = [dateFormatter stringFromDate:date];
    return destDateString;
}

NSString转NSData

NSData* xmlData = [@"testdata" dataUsingEncoding:NSUTF8StringEncoding];

NSData转NSString

NSData * data; 
NSString *result = [[NSString alloc] initWithData:data  encoding:NSUTF8StringEncoding]; 

因最近在做蓝牙设备,发现设备回给App的data是一个二进制的数据<0001>,通过上面方法并不能很好的转出来,如果需要此二进制数据显示到label中,可用下述方法

NSData * data;//此data为<0001>或可NSLog的数据
NSString * result = [NSString stringWithFormat:@"%@",data];

NSData转char*

NSData *data; 
char *test=[data bytes];

char*转NSData

Byte* tempData = malloc(sizeof(byte)*10); 
NSData *content=[NSData dataWithBytes:tempData length:10];

版权声明:本文为 Crazy Steven 原创出品,欢迎转载,转载时请注明出处!

上一篇 下一篇

猜你喜欢

热点阅读