iPhone:在设备时区将Nsstring转换为Nsdate

时间:2010-05-03 06:15:24

标签: iphone timezone nsstring nsdate

我收到来自Web服务的日期,格式为GMT + 1(2010-02-25T20:16:50.387 + 05:30)。 我想转换为NSdate。我对日期格式化器没有正确的想法。

请建议我如何将此nsstring值更改为当前日期格式(时区)

2 个答案:

答案 0 :(得分:2)

使用DateFormatter将“2010-02-25T20:16”转换为NSDate:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyyMMdd'T'HHmm";
NSDate *gmtDate = [formatter dateFromString:@"2010-02-25T20:16"];

获得GMT日期后,您可以添加/减去GMT - 您的时区偏移量,以获得您所在时区的当前NSDate。要获得时区和GMT之间的偏差,您可以使用以下内容:

NSTimeInterval timeZoneOffset = [[NSTimeZone defaultTimeZone] secondsFromGMT];

答案 1 :(得分:1)

NSDateFormatter就是将字符串表示转换为字符串表示形式。看一下这方面的文档。