iPhone设备中出现奇怪的日期格式问题

时间:2012-04-16 14:39:56

标签: iphone nsdate nsdateformatter

我正在尝试从字符串

转换日期

以下是我的代码,

str_date = @"04/16/2011 00:00:00 AM";

NSDateFormatter *dtF = [[NSDateFormatter alloc] init];
[dtF setDateFormat:@"MM/dd/yyyy HH:mm:ss a"];

NSDate *d = [dtF dateFromString:str_date];


NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd"];
NSString *dateString = [dateFormat stringFromDate:d]; 
[dateFormat release];

return dateString;

问题在于,在模拟器中它工作正常并将字符串转换为日期和日期为字符串,但使用Device时,它无法将字符串转换为日期

在iPod视网膜中它没有显示日期,但是使用iPhone 3gs显示日期

请帮我解决一下我做错了什么?

1 个答案:

答案 0 :(得分:1)

只需将此行替换为

NSDateFormatter *dtF = [[NSDateFormatter alloc] init]; [dtF setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];

因为HH使用24小时格式并且hh使用12小时格式...