在objective-C中使用NSDateFormatter
我想使用在objective-C中使用NSDateFormatter,objective-c,nsdateformatter,Objective C,Nsdateformatter,我想使用nsdateformatter将2013-07-10T21:48:09.000Z转换为10.7.2013 我已经试着通过一些教程,但我似乎不知道该怎么做,我该如何正确地做这个转换 非常感谢您的帮助 我尝试了这个,但只返回了一个(null) 首先,您的日期格式是错误的——第二行应该是[dateFormatter setDateFormat:@“yyy-MM-dd'T'HH:MM:ss.000Z”]——也就是说,您需要在mm:之后,但在000Z之前使用ss.。这将为您提供正确的NSDate
nsdateformatter
将2013-07-10T21:48:09.000Z
转换为10.7.2013
我已经试着通过一些教程,但我似乎不知道该怎么做,我该如何正确地做这个转换
非常感谢您的帮助
我尝试了这个,但只返回了一个(null)
首先,您的日期格式是错误的——第二行应该是
[dateFormatter setDateFormat:@“yyy-MM-dd'T'HH:MM:ss.000Z”]
——也就是说,您需要在mm:
之后,但在000Z
之前使用ss.
。这将为您提供正确的NSDate
接下来,您需要创建一个新的日期格式化程序,其格式为@“dd.M.yyyy”
(或者@“d.M.yyyy”
,如果您想删除前导零(如果日期也是一个位数),则需要为NSLog调用stringFromDate:
简单回顾一下,整个代码块都是
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.000Z"];
NSDate *theDate = [dateFormatter dateFromString:stringDate];
NSDateFormatter *printFormatter = [[NSDateFormatter alloc] init];
[printFormatter setDateFormat:@"dd.M.yyyy"];
NSLog(@"%@",[printFormatter stringFromDate:theDate]);
请链接到您使用的教程查看此处,例如:您的格式中缺少秒部分。请阅读NSDateFormatter规范。然后通过几个页面中的链接,找到描述格式字符串的地方。然后搜索关于NSDateFormatter的数千个问题,这些问题都是以前的人写的,他们和你一样,没有做过这项基础研究。在你上面的代码片段中,你是否进行了所需的最少调试,以查看你是否从
dateFromString
操作中获得了良好的结果,把你的问题一分为二?它返回'2013-07-10T21:48:09.000+0000',我需要它返回'10.7.2013'@IamGretar Oops,没听清楚--我以为你只是想要正确的日期。我已经更新了我的答案。不需要成为新的NSDateFormatter——只需将新格式设置为旧格式。@Hotclick Good point,也同样有效(并为您节省分配另一个NSDateFormatter
instance)的麻烦。
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.000Z"];
NSDate *theDate = [dateFormatter dateFromString:stringDate];
NSDateFormatter *printFormatter = [[NSDateFormatter alloc] init];
[printFormatter setDateFormat:@"dd.M.yyyy"];
NSLog(@"%@",[printFormatter stringFromDate:theDate]);