NSDate date don't give me the right hour

前端 未结 1 1938
面向向阳花
面向向阳花 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)
提交回复
热议问题