ユーザーは日付を編集できるため、ユーザーのデバイスから現在の日付を取得したくありません。
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
Web サービスへの非同期呼び出しを行うことをお勧めします。
これは役に立つかもしれません:
http://www.earthtools.org/webservices.htm#timezone --xmlresponse
http://www.timeapi.org/utc/now --string