如何从 NSDate 获取 UTC 时间 iOS

How to get the UTC time from NSDate iOS

我想在我的 iOS 应用程序中记录服务器时间,我正在使用 NHNetworkTime 库获取网络时间,当我尝试打印显示 GMT 的以下代码时,通过我选择的 UTC,如何打印 UTC 日期时间?

NSDate* datetime = [NSDate networkDate];
    NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]]; // Prevent adjustment to user's local time zone.
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSS Z z "];
    NSString* dateTimeInIsoFormatForZuluTimeZone = [dateFormatter stringFromDate:datetime];

NSLog(@"%@",dateTimeInIsoFormatForZuluTimeZone);

this is printing 2016-03-09 06:51:23.406 +0000 GMT 

参考:-

-(NSString *)getUTCFormateDate:(NSDate *)localDate
{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
    [dateFormatter setTimeZone:timeZone];
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSString *dateString = [dateFormatter stringFromDate:localDate];
    [dateFormatter release];
    return dateString;
}

另外争取时间

-(NSString *)getTimeFromDate:(NSDate *)localDate
{
    NSDateFormatter *dateFormatter = [[[NSDateFormatter     alloc]init]autorelease];
    dateFormatter.dateFormat = @"MM/dd/yy";

    NSString *dateString = [dateFormatter stringFromDate: localDate];

    NSDateFormatter *timeFormatter = [[[NSDateFormatter alloc]init]autorelease];
    timeFormatter.dateFormat = @"HH:mm:ss";
    return [timeFormatter stringFromDate: localDate];
}

协调世界时 (UTC) 和格林威治标准时间 (GMT) 之间没有时差。你可以从这里获得更多信息 More info