将NSString转换为nsdate不起作用

时间:2012-07-31 15:28:55

标签: iphone ios ipad nsdate

我使用以下代码将日期从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];

但它不适合我:(

3 个答案:

答案 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"]];

只有在您的手机不是葡萄牙语时才需要设置区域设置。