将NSString转换为NSDate时出错

时间:2015-11-19 06:30:50

标签: ios objective-c

我有一个NSString,其中包含以下格式的日期:2015年11月19日上午10:44

现在我尝试使用以下代码块将NSString转换为NSDate:

 NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MMM dd,yyyy HH:mm a "];
[dateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
NSDate *setEditDate = [dateFormat dateFromString:lastLog];
NSLog(@"setEditDate = %@",setEditDate);

以上代码返回“setEditDate = 2015-11-19 00:44:00 +0000”

这里时间变了,10:44到00:44。

如何解决此问题,以获得正确的日期和时间。 任何帮助都会很明显。

2 个答案:

答案 0 :(得分:0)

这是我使用的代码。代码已经在运行了。

NSDate *currentDate = [[NSDate alloc] init];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter setDateFormat:@"MMM dd,yyyy hh:mm a "];
NSString *localDateString = [dateFormatter stringFromDate:currentDate];
NSLog(@"localDateString : %@",localDateString); 

我希望它能帮助你。

答案 1 :(得分:-1)

您的格式字符串略有错误。您需要HH

而不是hh小时