【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\nSys:%@\nDefault:%@\n+8:%@\nGMT:%@",systemTimeZoneStr,defaultTimeZoneStr,plus8TZStr,gmtTZStr);

}


posted @ 2015-11-18 15:35  云端止水  阅读(357)  评论(0编辑  收藏  举报