在y應用程序中,用戶可以從不同時區發佈帖子,我的任務是向他們顯示發佈帖子後多少分鐘或幾小時。但目前只能正確顯示我的時區,而不適用於其他時區。如何在ios中顯示不同時區的相同時差
是我到目前爲止執行:
NSTimeInterval timestamp = [data.createdDate longLongValue];
NSDate *date = [NSDate dateWithTimeIntervalSince1970:timestamp];
NSTimeZone* sourceTimeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
NSTimeZone* destinationTimeZone = [NSTimeZone systemTimeZone];
NSInteger sourceGMTOffset = [sourceTimeZone secondsFromGMTForDate:date];
NSInteger destinationGMTOffset = [destinationTimeZone secondsFromGMTForDate:date];
NSTimeInterval interval = destinationGMTOffset - sourceGMTOffset;
date = [[NSDate alloc] initWithTimeInterval:interval sinceDate:date];
date.createdDate是時間戳值從服務器的到來。 服務器旁邊的時間是我的時區。
您有在其他時區2時區,這就是爲什麼有差別的日期。爲什麼不在兩個日期中使用相同的時區? – rishi
我不明白這是怎麼工作的! @rishi – Fay007
目前發生的情況是,您的源時區始終爲GMT,並且目標時區正在根據設備設置進行更改,但當目標時區不同時,它將有不同的時間。您可以嘗試將兩個時區都設置爲systemTimeZone,即將日期從服務器轉換爲系統時區,然後獲取時差。 – rishi