iPhone: NSDate convert GMT to local time

后端 未结 4 1521
渐次进展
渐次进展 2020-12-14 11:49

I currently have an API call returning me a date/time in the format: 2010-10-10T07:54:01.878926

Can I assume this is GMT? I also converted this to an NS

相关标签:
4条回答
  • 2020-12-14 12:27
    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];
    
    0 讨论(0)
  • 2020-12-14 12:28
    NSDate *now = [NSDate date];
    NSLog(@"%@", [now dateWithCalendarFormat:@"%Y-%m-%d %H:%M:%S" 
                  timeZone:[NSTimeZone timeZoneWithName:@"GMT"]]);
    
    0 讨论(0)
  • 2020-12-14 12:39

    This code will convert the GMT time to the device's local time.

    NSDate* localDateTime = [NSDate dateWithTimeInterval:[[NSTimeZone systemTimeZone] secondsFromGMT] sinceDate:pubDate];
    
    0 讨论(0)
  • 2020-12-14 12:43
    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];
    
    0 讨论(0)
提交回复
热议问题