1

我正在尝试从字符串转换日期,

下面是我的代码,

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;

这里的问题是,在模拟器中它工作正常并将字符串转换为日期并将日期转换为字符串,但是对于设备,它无法将字符串转换为日期

在 iPod Retina 中不显示日期,但在 iPhone 3gs 中显示日期

请帮助我做错了什么?

4

1 回答 1

1

像这样替换这一行

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

因为 HH 用于 24 小时格式,而 hh 用于 12 小时格式...

于 2012-04-16T14:58:52.207 回答