0
我试图从NSDate
获取小时组件。 这里是我做的:从NSDate获取小时组件
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
[calendar setTimeZone:[NSTimeZone timeZoneWithName:@"GMT+1"]];
NSDateComponents *startComponents = [calendar components:DATE_COMPONENTS fromDate:_start];
startComponents.timeZone = [NSTimeZone timeZoneWithName:@"GMT+1"];
int hours = [startComponents hour];
现在前天的hours value
永远是提前一小时。但从昨天起,hours value
提前2小时。
我知道这与NSTimezone
和DST
有关。但是我不能把我的头围上来!
有人可以帮我吗?
可能时区从GMT + 1更改为GMT + 2欧洲夏令时...有一些方法来检查日期是否在DST之内或... – Volker
但似乎当我尝试设置[NSTimeZone timeZoneWithName :@“GMT + 2”]没有任何变化。 – Steaphann
可能是由于原始日期,但很难说没有更多的信息 – Volker