2013-08-05 179 views
-2

我已经看过这里的一些其他解决方案,但似乎无法得到这个工作为我的情况。从字符串格式化日期

我消耗了API,从一些地方将被保存到核心数据,但在API中的日期格式不匹配,其中的核心数据预计,

,我得到的是日期格式为:

2013年6月28日下午5点51分28秒

我需要能够对我的实体在此日期前,以显示最新的项目进行排序。我尝试了以下格式,但似乎无法得到可行的结果,关于如何实现此目的的任何想法?

NSDate *createdDate = [key objectForKey:@"createdDate"]; 

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"mm/dd/yyyy hhmmss"]; 
NSDate *date = [dateFormat dateFromString:createdDate]; 
+0

你得到的日期或字符串? –

+0

你可以更改日期格式,然后将其保存到核心数据..如果您无法更改格式..我们知道您以哪种格式获取日期字符串或日期吗?所以,我们可以回答你的问题.. – Shivaay

+0

我收到的JSON数据显示日期的格式为 2013年6月28日下午5点51分28秒 作为@wain提及不应该被解析为日期马上,但应存储为一个字符串,然后解析,我会检查格式与建议 – user499846

回答

2

createdDate不能为NSDate。如果这是你的代码会崩溃而不是不工作。它必须是NSString

NSString *createdDate = [key objectForKey:@"createdDate"]; 

接下来,你说你收到日期字符串是Jun 28, 2013 5:51:28 PM不你想使用的mm/dd/yyyy hhmmss格式甚至略有匹配。一开始,格式有斜线,日期字符串没有。格式必须完全匹配字符串结构。再次阅读日期格式化程序格式规范并修改您的格式。我没有它,但它会像MMM dd, yyyy H:mm:ss a(不要只使用该格式,请先检查它)。

+0

谢谢,这使得很多意义上,我是不确定的斜杠等,我会检查文档,然后回复,谢谢你的帮助 – user499846

+0

谢谢我能够检查这与文档,并发现正确的甲酸是 [dateFormat setDateFormat:@“MMM dd,yyyy h: mm:ss a“];我现在只需要理清语言环境以坚持英国夏令时的+1小时 - 感谢您的帮助 – user499846

+0

Wain我也试图弄清楚这个问题,并试图通过您寻求帮助的答案,你可以用我的Q真正快速地窥视你的专业知识吗?非常感谢! http://stackoverflow.com/questions/25675839/rkvaluetransformers-failed-transformation-of-value-to-nsdate?noredirect=1#comment40162652_25675839 – 2014-09-06 00:40:00