使用EEST时区从服务器接收的Unix时间戳

时间:2014-05-02 09:06:39

标签: ios date datetime unix-timestamp

在我的应用程序中,我从服务器请求某个日期字段,服务器返回的值如下:2014-06-03 00:00:00 EEST,但我需要使用GMT(GMT + 2 ...)格式加载该数据,我使用以下代码:

 double unixTimeStamp = [[date objectAtIndex:indexPath.row] doubleValue];
        NSTimeInterval _interval=unixTimeStamp;
        NSDate *dateToFinal = [NSDate dateWithTimeIntervalSince1970:_interval];
        NSDateFormatter *_formatter=[[NSDateFormatter alloc]init];
        _formatter.dateFormat = @"yyyy-MMMM-dd HH:mm:ss zzz";
        [_formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:[[NSUserDefaults standardUserDefaults] objectForKey:@"timeZone"]] ];
        [_formatter setDateFormat:@"dd MMMM yyyy"];
        dateFinal=[_formatter stringFromDate:dateToFinal];
      //      NSLog(@"Date Time < 3 %@" , dateFinal);

用户可以更改他的时区,这就是为什么当他保存它时,它存储在本地缓存变量中,我在之前的代码中调用它。但最奇怪的是,如果用户更改为GMT +1或+2或其他任何内容,应用程序仍会输出相同的小时时间,即00:00,但如果他更改为与GMT不同的任何内容,则会更改。 GMT,GMT + 1,GMT + 4 ......输出同一小时00:00是不正常的。作为unix时间戳示例,我们有1401742800,如果您使用在线时间转换器,您将获得Mon,02 Jun 2014 21:00:00 GMT,但在应用程序中它既不是相同的日期也不是时间......我缺少什么?< / p>

0 个答案:

没有答案