Xcode - 从服务器获取当前日期和时间(如time.is)并将其转换为NSDate

时间:2013-03-05 20:44:44

标签: ios time

我不想从用户设备获取当前日期,因为用户可以编辑日期。

我想从time.apple.com或time.is等服务器获取当前日期和时间,然后将其转换为NSDate。怎么样?

1 个答案:

答案 0 :(得分:0)

您可以通过点击网址(如果网络服务将其作为字符串提供)以字符串的形式获取日期。然后使用日期格式化程序,您可以将字符串变为NSDate

例如:

NSURL *url = [NSURL URLWithString:@"http://yourtimeurl"];
NSString *str = [[NSString alloc] initWithContentsOfURL:url usedEncoding:Nil error:Nil];

假设您以dd-MM-yyyy格式获取日期,然后

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat =@"dd-MM-yyyy";
NSDate *date = [dateFormatter dateFromString:str];

但最有可能的是,当你点击你的网址时,你可能会获得一些像json一样的数据结构,你必须解析它。并且很可能日期不会以上述格式返回。但现在你知道如何前进。进行适当的更改。

此外initWithContentsOfURL:是同步通话。建议您使用NSURLConnection进行此操作,并对您的Web服务进行异步调用。

这可能有用: http://www.earthtools.org/webservices.htm#timezone --xmlresponse
http://www.timeapi.org/utc/now --string