【iOS】OC-时间转化的时区问题

-(void)testTime{

    NSDate *now = [NSDate date];//根据当前系统的时区产生当前的时间,绝对时间,所以同为中午12点,不同的时区,这个时间是不同的。

    NSDateFormatter *df = [[NSDateFormatter alloc] init];

    df.timeZone = [NSTimeZone systemTimeZone];//系统所在时区

    df.dateFormat = @"yyyy-MM-dd HH:mm:ss";

    NSString *systemTimeZoneStr =  [df stringFromDate:now];

    df.timeZone = [NSTimeZone defaultTimeZone];//默认时区,貌似和上一个没什么区别

    NSString *defaultTimeZoneStr = [df stringFromDate:now];

    df.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:8 * 3600];//直接指定时区

    NSString *plus8TZStr = [df stringFromDate:now];

    df.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0];//这就是GMT+0时区了

    NSString *gmtTZStr = [df stringFromDate: now];

    NSLog(@"Test Time Sys:%@ Default:%@ +8:%@ GMT:%@",systemTimeZoneStr,defaultTimeZoneStr,plus8TZStr,gmtTZStr);

}


原文地址:https://www.cnblogs.com/melons/p/5791992.html