小弟最近在做一个应用,涉及到世界时间日期转换。意外的发现有时候北京时间和GMT时间相差是7小时,我猜想是因为夏令时导致的,但是有什么规律可循吗?恳请各位大侠解释一下。示例代码如下:    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSDate *date = [formatter dateFromString:@"1980-01-01 00:00:00"];
    NSLog(@"%@",date);结果竟然是1979-12-31 17:00:00,相差7个小时!但是我尝试在windows系统时间里操作,改成GMT时间后,显示的是1979-12-31 16:00:00,相差8个小时。然后我尝试修改了几个时间点,发现1980年以后都是相差8个小时,1980以前是相差7个小时。我就彻底糊涂了,假如用户选择1980年1月1日 0点0分,我的程序到底返回1979年12月31日的16:00还是17:00才是正确的?