我不想从用户设备获取当前日期,因为用户可以编辑日期。
我想从 time.apple.com 或 time.is 等服务器获取当前日期和时间,然后将其转换为 NSDate。如何?
您可以首先通过点击 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