使用不同的时区将NSString转换为NSDate,以便与UIDatePicker一起使用

时间:2014-03-11 17:34:42

标签: ios nsdate nsdateformatter uidatepicker

我希望将NSString转换为NSDate,并且只想问一些关于此的问题。

转换的目的是在表视图中获取一个节头,这是一个从NSDate派生的字符串,并将其传递回UIDatePicker,以便日期选择器可以在字符串中使用该日期。

我一直在阅读有关此问题的一些帖子,并且有很多格式需要解决。

我的字符串日期格式为:

2014年3月10日美国格式和2014年3月10日英国格式。

我需要做什么:

1)获取该日期以适当地转换为UIDatePicker 2)使用不同的国家/地区格式,以便为英国和美国用户更新日期选择器。

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"d-MMMM-YYYY"];
    NSDate *dateFromString = [[NSDate alloc] init];
    dateFromString = [dateFormatter dateFromString:sectionTitle];

dateFromString当前为null。

我一直在关注https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/DataFormatting/Articles/dfDateFormatting10_4.htmlConverting NSString to NSDate (and back again)http://waracle.net/iphone-nsdateformatter-date-formatting-table/,但我不确定如何继续。

任何帮助都将在此

中受到赞赏

1 个答案:

答案 0 :(得分:0)

我知道这不是直接回答这个问题,但它使上述几条评论更有意义:

如何为表视图创建数据源结构:

NSMutableArray* sections = [NSMutableArray array];
for (<each section>) {
    NSMutableDictionary* section = [NSMutableDictionary dictionary];
    [section setObject:sectionTitle forKey:@"title"];
    [section setObject:sectionNSDate forKey:@"date"];
    [section setObject:otherStuff forKey:@"other_stuff"];
    NSMutableArray* rows = [NSMutableArray array];
    for (<each row>) {
        NSMutableDictionary* row = [NSMutableDictionary dictionary];
        [row setObject:rowTitle forKey:@"title"];
        [row setObject:image forKey:@"image"];
        [rows addObject:row];
    }
    [section addObject:rows forKey:@"rows"];
    [sections addObject:section];
}

很容易跟踪&amp;更新部分和行数据,部分数量和行数方法实际上是自己编写的,如果滚动并返回某些内容,则不需要重新导出数据(因为您可以将其缓存在字典中)。