<分区>
<分区>
我从网络服务中获取字符串“2011-09-24T00:30:00.000-07:00”。 我不知道这种格式是什么,想在 objective-c 中转换为日期对象。
所以任何人都知道如何将这个字符串转换为日期。
非常感谢
最佳答案
从这种格式获取日期/时间有一个小问题,时区中的“:”需要删除,Apple 不处理这种情况,也不是正确的 UTS 格式。这是一个例子:
NSString *dateString = @"2011-09-24T00:30:00.000-07:00";
dateString = [dateString stringByReplacingOccurrencesOfString:@":" withString:@"" options:0 range:NSMakeRange(dateString.length-3, 1)];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZZZ"];
NSDate *date = [formatter dateFromString:dateString];
NSLog(@"date: %@", date);
NSLog 输出:日期:2011-09-24 07:30:00 +0000
作为显示刚创建日期的测试:
NSString *testDateString = [formatter stringFromDate:date];
NSLog(@"date: %@", testDateString);
NSLog 输出:日期:2011-09-24T03:30:00.100-0400
请注意,时间和时区已被 NSLog 转换为我的本地时区,考虑到日期/时间与原始时间相同。
关于iphone - 将字符串转换为 NSDate 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7538178/