我从webservice收到字符串“2011-09-24T00:30:00.000-07:00”。 我不知道这个格式是什么,并且想要在objective-c中转换日期对象。
所以任何人都知道如何将此字符串转换为日期。
非常感谢
答案 0 :(得分:4)
从这种格式获取日期/时间有一个小问题,时区中的':'需要删除,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输出:date: 2011-09-24 07:30:00 +0000
作为显示刚创建日期的测试:
NSString *testDateString = [formatter stringFromDate:date];
NSLog(@"date: %@", testDateString);
NSLog输出:date: 2011-09-24T03:30:00.100-0400
请注意,NSLog已将时区和时区转换为我的本地时区,考虑到这两项更改,日期/时间与原始时区相同。
答案 1 :(得分:0)
答案 2 :(得分:0)