我不想从用户设备获取当前日期,因为用户可以编辑日期。
我想从time.apple.com或time.is等服务器获取当前日期和时间,然后将其转换为NSDate。怎么样?
答案 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