0

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

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

4

1 回答 1

0

您可以首先通过点击 url 以字符串的形式获取日期(如果 web 服务将其作为字符串提供)。然后使用日期格式化程序,您可以将字符串转换为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];

但很可能当你点击你的 url 时,你可能会得到一些数据结构,比如你必须解析的 json。并且很可能不会以上述格式返回日期。但现在你知道如何前进了。进行适当的更改。

也是initWithContentsOfURL:同步调用。建议您NSURLConnection为此使用 a 并对您的 Web 服务进行异步调用。

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

于 2013-03-05T21:00:01.967 回答