如何将 NSArray 转换为 NSDate
How to convert NSArray to NSDate
我有一个包含日期的数组。我想将数组转换为 NSDate。然后转换后的 NSDate 存储在另一个 array.This 是我的数组。
uniqueItems (
"2015-02-17",
"2015-02-09",
"2015-02-02",
"2015-01-27",
"2015-01-19",
"2015-01-12"
)
如何将这个数组转换为NSDate,并存储到另一个数组中。帮我编码。
假设你有一个数组如下:
NSArray *ary = [NSArray arrayWithObjects:@"2015-02-17",@"2015-02-09",@"2015-02-02", nil];
将每个字符串转换成日期:-
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
for(int i =0;i<ary.count;i++){
NSDate *d = [[NSDate alloc]init];
d = [dateFormatter dateFromString:ary[i]];
}
如果你想使用NSDateFormate,你也可以在循环中使用。
我能理解,因为你是新手,请按照以下步骤操作,但请记住先理解:-
1.Enumerate 您的数组以获取所有字符串(您理解的日期),并将它们添加到您想要的另一个数组中,如下所示:-
for (NSString *dateString in yourArrayofDates) {
NSDate *date=[self getDateFromDateString:dateString];
[yourAnotherDateArray addObject:date];
}
2.Add 一种从字符串中获取 NSDate 的方法,如下所示:-
-(NSDate *)getDateFromDateString :(NSString *)dateString {
NSDateFormatter * dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *date = [dateFormatter dateFromString:dateString];
return date;
}
首先将您的 NSString 转换为 NSDate
NSArray *arrr = @[ @"2015-02-17",
@"2015-02-09",
@"2015-02-02",
@"2015-01-27",
@"2015-01-19",
@"2015-01-12"];
NSMutableArray *arrDates = [[NSMutableArray alloc]init];
NSDateFormatter *df = [[NSDateFormatter alloc]init];
[df setDateFormat:@"yyyy-MM-dd"];
[df setTimeZone:[NSTimeZone systemTimeZone]];
for (int i = 0; i<arrr.count; i++) {
[arrDates addObject:[df dateFromString:arrr[i]];;
}
NSLog(@"%@",arrDates);
现在对日期数组进行排序,因为您的数组包含 NSDate 对象。你没有钥匙所以不要传递任何钥匙
NSSortDescriptor *dateDescriptor = [NSSortDescriptor
sortDescriptorWithKey:@""
ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObject:dateDescriptor];
NSArray *sortedDateArray = [arrDates sortedArrayUsingDescriptors:sortDescriptors];
NSLog(@"%@",sortedDateArray);
我有一个包含日期的数组。我想将数组转换为 NSDate。然后转换后的 NSDate 存储在另一个 array.This 是我的数组。
uniqueItems (
"2015-02-17",
"2015-02-09",
"2015-02-02",
"2015-01-27",
"2015-01-19",
"2015-01-12"
)
如何将这个数组转换为NSDate,并存储到另一个数组中。帮我编码。
假设你有一个数组如下:
NSArray *ary = [NSArray arrayWithObjects:@"2015-02-17",@"2015-02-09",@"2015-02-02", nil];
将每个字符串转换成日期:-
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
for(int i =0;i<ary.count;i++){
NSDate *d = [[NSDate alloc]init];
d = [dateFormatter dateFromString:ary[i]];
}
如果你想使用NSDateFormate,你也可以在循环中使用。
我能理解,因为你是新手,请按照以下步骤操作,但请记住先理解:-
1.Enumerate 您的数组以获取所有字符串(您理解的日期),并将它们添加到您想要的另一个数组中,如下所示:-
for (NSString *dateString in yourArrayofDates) {
NSDate *date=[self getDateFromDateString:dateString];
[yourAnotherDateArray addObject:date];
}
2.Add 一种从字符串中获取 NSDate 的方法,如下所示:-
-(NSDate *)getDateFromDateString :(NSString *)dateString {
NSDateFormatter * dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *date = [dateFormatter dateFromString:dateString];
return date;
}
首先将您的 NSString 转换为 NSDate
NSArray *arrr = @[ @"2015-02-17",
@"2015-02-09",
@"2015-02-02",
@"2015-01-27",
@"2015-01-19",
@"2015-01-12"];
NSMutableArray *arrDates = [[NSMutableArray alloc]init];
NSDateFormatter *df = [[NSDateFormatter alloc]init];
[df setDateFormat:@"yyyy-MM-dd"];
[df setTimeZone:[NSTimeZone systemTimeZone]];
for (int i = 0; i<arrr.count; i++) {
[arrDates addObject:[df dateFromString:arrr[i]];;
}
NSLog(@"%@",arrDates);
现在对日期数组进行排序,因为您的数组包含 NSDate 对象。你没有钥匙所以不要传递任何钥匙
NSSortDescriptor *dateDescriptor = [NSSortDescriptor
sortDescriptorWithKey:@""
ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObject:dateDescriptor];
NSArray *sortedDateArray = [arrDates sortedArrayUsingDescriptors:sortDescriptors];
NSLog(@"%@",sortedDateArray);