Проблема при получении текущей даты и времени с сервера в Xcode 6.4

Чтобы избежать каких-либо проблем с датой и временем, я планировал получить дату от моего собственного server,
Так что я написал этот кусок кода в PHP файл и загрузил этот файл на мой сервер.

Date.php

<?php

date_default_timezone_set('Asia/Kolkata');
$date = date('d/m/Y', time());
echo $date;

?>

Теперь для доступа к нему я использую этот кусок кода:

 NSURL *url = [NSURL URLWithString:@"http://www.myserver.com/date.php"];
NSError* error;
NSString *content = [NSString stringWithContentsOfURL:url encoding:NSASCIIStringEncoding error:&error];

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"dd/MM/yyyy"];

NSDate *serverDate = [dateFormat dateFromString:content];

NSDate *DeviceDate = [NSDate date];

Не главная первопричина

Моя системная дата установлена ​​на текущую дату и время. Теперь, когда я отлаживаю код, я получаю:

serverDate = 2015-12-27 18:30:00 +0000

а также

deviceDate = 2015-12-28 10:35:16 +0000

Я не могу понять, почему между этими двумя датами разница в один день. Чего мне не хватает?

1

Решение

Передайте обе даты в этой функции. Дата возвращения в UTC.

NSTimeZone *currentTimeZone = [NSTimeZone localTimeZone];
NSTimeZone *utcTimeZone = [NSTimeZone timeZoneWithAbbreviation:@"UTC"];
NSInteger currentGMTOffset = [currentTimeZone secondsFromGMTForDate:YourDate];
NSInteger gmtOffset = [utcTimeZone secondsFromGMTForDate:YourDate];
NSTimeInterval gmtInterval = currentGMTOffset - gmtOffset;
NSDate *destinationDate = [[NSDate alloc] initWithTimeInterval:gmtInterval sinceDate:YourDate] ;
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]