我有时区名称'America / San francisco'
NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"America/San francisco"];
它在PST中提供timeZone。但是我需要在GMT中使用timeZone作为(GMT-8)偏移-28800
谢谢
答案 0 :(得分:0)
NSTimeZone
方法timeZoneForSecondsFromGMT :
使用GMT +/-名称构建时区。这样的时区没有任何夏令时。要构建适用于太平洋时间特定日期的偏移时区,您可以使用secondsFromGMTForDate:
来获取正确的偏移量:
NSTimeZone *pacificTimeZone = [NSTimeZone timeZoneWithName:@"America/Los_Angeles"];
NSDate *targetDate = ...;
NSTimeZone *offsetTimeZone = [NSTimeZone timeZoneForSecondsFromGMT:[pacificTimeZone secondsFromGMTForDate:targetDate]];