我現在有一個API調用返回我的日期/時間格式爲:2010-10-10T07:54:01.878926
iPhone:NSDate的轉換GMT爲本地時間
我可以假設這是GMT?我也將其轉換爲一個NSDate對象。有沒有辦法使用本地iPhone時間重新計算時間?
我現在有一個API調用返回我的日期/時間格式爲:2010-10-10T07:54:01.878926
iPhone:NSDate的轉換GMT爲本地時間
我可以假設這是GMT?我也將其轉換爲一個NSDate對象。有沒有辦法使用本地iPhone時間重新計算時間?
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"yyyy-MM-dd'T'HH:mm";
NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[dateFormatter setTimeZone:gmt];
NSString *timeStamp = [dateFormatter stringFromDate:[NSDate date]];
[dateFormatter release];
NSDate *sourceDate = [NSDate dateWithTimeIntervalSince1970:gmtTimestamp];
NSTimeZone* destinationTimeZone = [NSTimeZone systemTimeZone];
NSInteger sourceGMTOffset = [destinationTimeZone secondsFromGMTForDate:0];
NSInteger destinationGMTOffset = [destinationTimeZone secondsFromGMTForDate:sourceDate];
NSTimeInterval interval = destinationGMTOffset - sourceGMTOffset;
NSDate* destinationDate = [[[NSDate alloc] initWithTimeInterval:interval sinceDate:sourceDate] autorelease];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"yyyy-MM-dd'T'HH:mm";
[dateFormatter setTimeZone:destinationTimeZone];
NSString *localTimeString = [dateFormatter stringFromDate:destinationDate];
NSDate *now = [NSDate date];
NSLog(@"%@", [now dateWithCalendarFormat:@"%Y-%m-%d %H:%M:%S"
timeZone:[NSTimeZone timeZoneWithName:@"GMT"]]);
消息' - (NSString *)dateWithCalendarFormat:timezone:'在Apple的文檔中不存在。 – 2013-01-18 19:09:02
這給出了一個錯誤..你測試它嗎? – 2013-05-10 04:38:26
NSDate* localDateTime = [NSDate dateWithTimeInterval:[[NSTimeZone systemTimeZone] secondsFromGMT] sinceDate:pubDate];
太棒了。它解決了我的問題 – 2014-08-05 13:30:48
** Swift **:'let localDate = NSDate(timeInterval:NSTimeInterval(NSTimeZone.systemTimeZone()。secondsFromGMT),sinceDate:date)' – Husam 2016-04-06 19:33:32
的作品就像一個魅力...謝謝! :) – unicornherder 2010-10-10 18:45:19
這是如何將GMT轉換爲當地時間?我相信它正在做相反的事情,並將本地轉換爲GMT? – willhblackburn 2015-01-20 15:08:59