相关疑难解决方法(0)

NSDateFormatter在OS 4.0中返回nil

我在OS 3.x上有以下代码

NSString *stringDate = @"2010-06-21T20:06:36+00:00";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
NSDate *theDate = [dateFormatter dateFromString:stringDate];
NSLog(@"%@",[dateFormatter stringFromDate:theDate]);
Run Code Online (Sandbox Code Playgroud)

但现在在iOS4模拟器下的最新xcode 3.2.3中,变量theDate为零.

我查看了类引用,并没有看到任何已弃用或使用这些特定方法为iOS4实现不同的内容.我遗漏了什么?

iphone nsdateformatter ios4

26
推荐指数
3
解决办法
1万
查看次数

为什么NSDateFormatter无法解析ISO 8601格式的日期

可能重复:
将ISO 8601时间戳转换为NSDate:如何处理UTC时间偏移?

我使用rails作为后端,默认日期输出是2008-12-29T00:27:42-08:00

但是在我的研究之后NSDateFormatter无法支持它,除了我将日期更改为2008-12-29T00:27:42-0800

这是我用来解析ISO 8601日期的代码,但它不起作用

NSDateFormatter* dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
NSLog(@"%@", [dateFormatter dateFromString:@"2008-12-29T00:27:42-08:00"]);
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

iphone objective-c nsdate nsdateformatter ios

16
推荐指数
1
解决办法
2万
查看次数

Google日历数据的NSDateFormatter dateFormat

我似乎在尝试将Google日历日期字符串(从公共JSON解析)转换为NSDate格式时遇到了很大困难.

Google的Calendar API的结果采用以下格式:

"2012-06-20T11:00:00.000+01:00"
Run Code Online (Sandbox Code Playgroud)

我正在尝试将其格式化为NSDate,如下所示:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss.SSSzzz";
NSDate *gmtDate = [formatter dateFromString:[whenDict objectForKey:@"startTime"]];
Run Code Online (Sandbox Code Playgroud)

但是,我一直得到一个null结果,所以我想知道是否有人知道正确的[NSDate dateformat]对于我想要转换的结果是什么 ...

我已经尝试了各种各样的dateFormat变种,但是经过几个小时的多个字母变化后,我还没有找到合适的版本!

即我认为问题在于:

formatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss.SSSzzz";
Run Code Online (Sandbox Code Playgroud)

干杯,

datetime date-format nsdate nsdateformatter ios

2
推荐指数
1
解决办法
1348
查看次数