我在数组中有一个字符串对象,形式为" 2013-06-24 12:57:45"。所以我要做的就是使用NSDateFormatter将此字符串转换为NSDate对象,如下所示:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *date = [[NSDate alloc] init];
NSString *myDate = [myArray objectAtIndex:12];
date = [dateFormatter dateFromString:myDate];
NSLog(@"%@", date);//this prints out (null)
NSLog(@"%@", myDate);//this prints out the date in the correct format.
任何人都可以看到我做错了什么吗?
感谢所有回复的人。
答案 0 :(得分:0)
虽然您的代码也适用于我,但有一点需要注意的是myDate实际上是一个字符串,而日期是一个NSDate。当你这样做时会发生什么:
NSString *dateString = [dateFormatter stringFromDate:date];
NSLog(@"%@", dateString);
答案 1 :(得分:0)
感谢所有回复的人。我发现我得到(null)的原因是我的日期值最初存储为由双引号括起来的字符串。因此,为了解决问题,我必须通过执行以下操作从NSString中删除引号:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *myDate = [myArray objectAtIndex:12];
NSString *myNewDate = [myDate stringByReplacingOccurrencesOfString:@"\"" withString:@""];
NSDate *date = [dateFormatter dateFromString:myDate];
这给了我想要的输出。再次感谢所有评论和回复。
答案 2 :(得分:0)
什么是胡说八道?
NSDate *date = [[NSDate alloc] init];
date = [dateFormatter dateFromString:myDate];
你喜欢创造物品只是为了好玩吗?您认为使用[[NSDate alloc] init]创建的日期会发生什么?