Я получаю дату/время в виде NSString с моего сервера, где я конвертирую это время в NSDate в локальное время пользователей, используя NSTimeZone. После чего я пытаюсь переформатировать этот NSDate в более читаемую NSString, используя новый формат NSDateFormatter, однако, когда я пытаюсь применить этот новый формат, он возвращает полученную строку даты обратно к исходному серверному времени.
Я хотел бы знать, что я делаю неправильно, я хотел бы показать преобразованное время в новом формате.
это код, который я использую
// set date format
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
// change time to systemTimeZone
NSTimeZone *timeZone = [NSTimeZone systemTimeZone];
[dateFormatter setTimeZone:timeZone];
NSDate *localTime = [dateFormatter dateFromString:[singleInstanceActivationHistoryDictionay objectForKey:@"ActivationTime"]];
// reformat converted Time to readable format
NSDateFormatter *dateFormat1 = [[NSDateFormatter alloc] init];
[dateFormat1 setDateFormat:@"dd/MM/yy - hh:mm a"];
NSString *dateWithNewFormat = [dateFormat1 stringFromDate:localTime];
NSLog(@"TimeZone - %@", timeZone);
NSLog(@"UTC ServerTime - %@", [singleInstanceActivationHistoryDictionay objectForKey:@"ActivationTime"]);
NSLog(@"UTC to deviceTimeZone - %@", localTime);
NSLog(@"NewFormat - %@", dateWithNewFormat);
Это пример моего вывода
TimeZone - Pacific/Auckland (NZST) offset 43200
UTC ServerTime - 2013-08-22 01:45:59
UTC to deviceTimeZone - 2013-08-21 13:45:59 +0000
NewFormat - 22/08/13 - 01:45 AM
любая помощь будет принята с благодарностью
NSDate
, он будет представлять правильный момент времени (обратите внимание, что объектыNSDate
не обращают внимания на часовые пояса, они представляют определенные моменты времени независимо от часовых поясов, перехода на летнее время и т. д.). Когда вы правильно проанализировали конкретный момент, вы можете представить этот конкретный момент по местному времени, используя второй модуль форматирования даты. - person dreamlax   schedule 22.08.2013