NSDate date don't give me the right hour

前端 未结 1 1939
面向向阳花
面向向阳花 2020-12-22 13:46

I\'m trying to get the current date with :

NSLog(@\"DATE NOW : %@\", [NSDate date]);

But when I execute it, I have a difference of one hour

1条回答
  •  不知归路
    2020-12-22 14:18

    You need to set the proper timezone. The default, as you can see, is UTC.

    You can use a date formatter for doing that.

    NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init];
    NSTimeZone * timezone = [NSTimeZone timeZoneWithName:@"Europe/Rome"];
    [dateFormatter setTimeZone:timezone];
    [dateFormatter setTimeStyle:NSDateFormatterFullStyle
     ];
    [dateFormatter setDateStyle:NSDateFormatterFullStyle];    
    
    
    NSLog(@"%@", [dateFormatter stringFromDate:[NSDate date]]);
    

    For a list of available timezones you can use

    NSArray *timeZoneNames = [NSTimeZone knownTimeZoneNames];
    

    or check out the constants here on this Rails doc page.

    0 讨论(0)
提交回复
热议问题