-4

我想知道是否有一种简单的方法可以获取给定城市的时间。例如,我想知道纽约现在几点。我的数据中有纬度/经度,所以我可以使用这些信息。

4

1 回答 1

1

这是我的答案,使用 halfer 技巧

- (void)getWorldClock:(float)lat:(float)lon
{
    NSString *thisWorldTime = [[NSString alloc]init];

    NSString *urldata=[[NSString alloc]initWithFormat:@"http://www.earthtools.org/timezone-1.1/%f/%f", lat, lon];

    NSString *encoding = [urldata stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    NSLog(@"URL :%@",encoding);

    TBXML *tbxml =[TBXML tbxmlWithURL:[NSURL URLWithString:encoding]];
    TBXMLElement *root = tbxml.rootXMLElement;

    if (root) {
        TBXMLElement *isoTime = [TBXML childElementNamed:@"isotime" parentElement:root];
        NSLog(@"Time in %f %f is %@", lat, lon, [TBXML textForElement:isoTime]);        
    }

    [thisWorldTime release];

}

您必须提供城市的纬度和经度。Tom Bradley 的 TBXML 类http://www.tbxml.co.uk/TBXML/TBXML_Free.html

于 2013-01-30T16:13:22.803 回答