Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.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
Ios NSDate的删除和重新格式化不起作用?_Ios_Objective C_Nsdate_Nsdateformatter - Fatal编程技术网

Ios NSDate的删除和重新格式化不起作用?

Ios NSDate的删除和重新格式化不起作用?,ios,objective-c,nsdate,nsdateformatter,Ios,Objective C,Nsdate,Nsdateformatter,Iam正在尝试将此NSdate(2016-02-11 01:00:00+0000)重新格式化为此NSdate(11-02-2016) 我使用了下面的代码,它返回null //newDate format is 2016-02-11 01:00:00 +0000 NSString *dateString = [[self dateFormatter] stringFromDate:newDate]; NSDateFormatter *dateFormatter = [[NSDateFormatte

Iam正在尝试将此NSdate(2016-02-11 01:00:00+0000)重新格式化为此NSdate(11-02-2016)

我使用了下面的代码,它返回null

//newDate format is 2016-02-11 01:00:00 +0000
NSString *dateString = [[self dateFormatter] stringFromDate:newDate];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *date = [dateFormatter dateFromString:dateString];

// Convert date object into desired format
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
NSString *newDateString = [dateFormatter stringFromDate:date];
NSLog(@"people%@",newDateString); //printing null
请帮忙。

试试这个

NSString *myString = @"2016-02-11 11:29:04";
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
NSDate *yourDate = [dateFormatter dateFromString:myString];
dateFormatter.dateFormat = @"dd-MMM-yyyy";
NSLog(@"%@",[dateFormatter stringFromDate:yourDate]);

+0000
它是时区定义。您应该使用
Z

试试这个

[dateformat setDateFormat:@"yyyy-MM-dd HH:mm:ssZZZZ"];
否则,如果您的日期是当前日期,请使用

[dateformat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
最简单的方法

NSString *strDateFor = @"2016-02-11 01:00:00 +0000";
NSDateFormatter *dateformate=[[NSDateFormatter alloc]init];
[dateformate setDateFormat:@"yyyy-MM-dd HH:mm:ss ZZZZ"];
NSDate *date = [dateformate dateFromString:strDateFor];
NSLog(@"date : %@",date);
NSDateFormatter *dateFormat = [[NSDateFormatter alloc]init];
[dateFormat setDateFormat:@"dd-MM-yyyy"];
NSString *strDate = [dateFormat stringFromDate:date];
NSLog(@"The strDate is - %@", strDate);
控制台输出为

date : 2016-02-11 01:00:00 +0000
The strDate is - 11-02-2016

创建一个新的日期格式化程序并重试。日期以UTC为单位。他们没有时区。你试图做的,修改NSDate,完全是误导和错误的。如果它不起作用,你能在这一行之前显示更多的代码吗?你写了什么?为什么分配反对票,如果我犯了错误,我肯定会修改我的答案。新日期显然是NSDate。您无法解析它。