将NSString转换为NSDate – 格式错误

您好我正在尝试将字符串转换为NSDate格式 – 但它返回错误格式的值以及GMT时间。

NSString *myString = @"10:30 AM"; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; NSTimeZone *local = [NSTimeZone systemTimeZone]; dateFormatter.dateFormat = @"hh:mm a"; [dateFormatter setTimeZone:local]; NSDate *myDate = [dateFormatter dateFromString:myString]; NSLog(@"myDate---%@",myDate); 

但这会回来

  myDate---2000-01-01 05:30:00 +0000 

在我犯错误的地方,如何将日期定为上午10:30,请帮我解决这个问题。 提前致谢

不要使用NSLog()来显示日期,因为它将使用UTC / GMT时区及其自己的格式对其进行格式化; 而是使用日期格式化程序来显示它:

 NSLog(@"myDate---%@", [dateFormatter stringFromDate:myDate]);