Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 从nsdate中删除T_Objective C - Fatal编程技术网

Objective c 从nsdate中删除T

Objective c 从nsdate中删除T,objective-c,Objective C,使用一些api,我得到了以下日期格式: 2014-04-19T22:24:39+0000 不知什么原因,这个T在里面 我需要在结尾处使用此NSDate对象: 2014-04-09 23:03:05 +0000 如何将旧日期转换为新日期 我从以下内容开始: NSDate *date=[image objectForKey:@"updated_time"]; //problematic date NSDateFormatter *df = [ [NSDateFormatter alloc] in

使用一些api,我得到了以下日期格式:

2014-04-19T22:24:39+0000
不知什么原因,这个T在里面

我需要在结尾处使用此NSDate对象:

2014-04-09 23:03:05 +0000
如何将旧日期转换为新日期

我从以下内容开始:

NSDate *date=[image objectForKey:@"updated_time"]; //problematic date
NSDateFormatter *df = [ [NSDateFormatter alloc] init]  ;
[df setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZZ"];
我将如何从这里开始创建新日期

我读过这个答案,但不明白


阅读Facebook的API,以下是解决任何面临同样问题的方法:

NSString *date=[image objectForKey:@"updated_time"];
NSDateFormatter *df = [ [NSDateFormatter alloc] init]  ;
[df setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ssZZZZ"];
NSDate *newdate = [df dateFromString:date];

就这样。很简单,而且有效。

您的代码很接近,您只需要进行实际的转换,因此

NSDate *date=[image objectForKey:@"updated_time"]; //problematic date
NSDateFormatter *df = [ [NSDateFormatter alloc] init]  ;
[df setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZZ"];
需要变成这样

NSDateFormatter *df = [ [NSDateFormatter alloc] init]  ;
[df setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZZ"];
NSDate *date=[df dateFromString:[image objectForKey:@"updated_time"]]; //problematic date

补充说明,如果您希望“HH”返回24小时时钟值,您需要阅读此

仅更改您显示给
'
的格式字符串中的
't'
是否有效?我想知道如何简单而清晰地对问题进行投票。我真的不知道男人还能做什么,除了问得这么好和清楚。我没有投反对票,但你没有给出太多关于你展示的代码不起作用的细节。大多数人不想设置一个新的解决方案,只是为了看看你已经知道结果的代码中有什么不起作用。我展示的代码只是创建一个df。它不会创建新的日期。我不知道如何从中创建新的日期。如果你还没有,请查看Peter Hosey的,它将更精确地处理ISO 8601日期。我以前也写过类似的代码,但是Peter的代码比大多数实现要完整得多。请参阅关于最佳实践:也设置格式化程序的
locale