我似乎在尝试将 Google 日历日期字符串(从公共(public) JSON 解析)转换为 NSDate 格式时遇到了很大困难。
Google 日历 API 的结果采用以下格式:
"2012-06-20T11:00:00.000+01:00"
我正在尝试将其格式化为 NSDate,如下所示:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss.SSSzzz";
NSDate *gmtDate = [formatter dateFromString:[whenDict objectForKey:@"startTime"]];
但是,我一直得到一个空结果,所以我想知道是否有人知道正确的 [NSDate dateformat] 是什么我正在尝试转换的结果...
我已经尝试了各种 dateFormat 变体,但在花了几个小时处理多个字母变体之后,我还没有找到合适的变体!
即我认为问题在于:
formatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss.SSSzzz";
干杯,
最佳答案
+01:00 似乎不是标准时区,因此您必须将其更改为 +0100,去掉其中的冒号(引用 iPhone NSDateFormatter Timezone Conversion)
你可以使用下面的代码
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss.SSSZZZ";
NSString *dataString = @"2012-06-20T11:00:00.000+01:00";
NSMutableString *mutableDate = [dataString mutableCopy];
[mutableDate deleteCharactersInRange:NSMakeRange(mutableDate.length - 3, 1)];
NSDate *gmtDate = [formatter dateFromString:mutableDate];
关于ios - 谷歌日历数据的 NSDateFormatter dateFormat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11100880/