0

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

但这对我不起作用:(

4

3 回答 3

1

那是因为格式不匹配。

"julho-29-2012 05:01 PM"

遵循以下格式:

"MMMM-dd-yyyy hh:mm a"

基本上,您的日期格式化程序无法理解您的字符串并提供默认值nil.


编辑

您可能需要更改格式化程序区域设置,因为您的日期字符串不是英语而是葡萄牙语。

[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"pt-PT"]];
于 2012-07-31T15:34:47.223 回答
0

您的日期格式化程序的格式与您的字符串格式的日期不匹配。

于 2012-07-31T15:35:24.573 回答
0

您的日期格式字符串与字符串中的日期格式不匹配。

尝试:

[dateFormatter setDateFormat:@"MMMM-dd-yyyy hh:mm a"];
[dateFormatter setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"pt"]];

仅当您的手机不是葡萄牙语时才需要设置区域设置。

于 2012-07-31T15:39:27.340 回答