我使用以下代码将日期从NSString转换为NSDate
NSString *dateString = @"julho-29-2012 05:01 PM";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy hh:mm:ss a"];
NSDate* dateFromString = [dateFormatter dateFromString:dateString];
NSLog(@"%@",dateFromString);
[dateFormatter release];
但它不适合我:(
答案 0 :(得分:1)
那是因为格式不匹配。
"julho-29-2012 05:01 PM"
遵循以下格式:
"MMMM-dd-yyyy hh:mm a"
基本上,您的日期格式化程序无法理解您的字符串并提供默认值nil
。
修改强>
您可能需要更改格式化程序区域设置,因为日期字符串不是英文而是葡萄牙语。
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"pt-PT"]];
答案 1 :(得分:0)
您的日期格式化程序格式与字符串格式的日期不符。
答案 2 :(得分:0)
您的日期格式字符串与字符串中的日期格式不匹配。
尝试:
[dateFormatter setDateFormat:@"MMMM-dd-yyyy hh:mm a"];
[dateFormatter setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"pt"]];
只有在您的手机不是葡萄牙语时才需要设置区域设置。