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