iOS中的日光到标准时区转换

时间:2015-04-16 03:04:40

标签: ios timezone dst date-conversion

有些国家/地区正在观察夏令时,但我希望获得时区名称而不考虑夏令时。

总之,我想要这些国家的标准时间而不是夏令时。

有没有办法转换这个或其他什么?

P.S。我想要这个是因为我的服务器要求。

// --------------------------------------------- -------------------

我在苹果中看到了这个参考。

+ (instancetype)timeZoneForSecondsFromGMT:(NSInteger)seconds
  

讨论新时区的名称是GMT +/-偏移量,in   小时和分钟。使用此方法创建的时区永远不会有   夏令时,无论日期如何,抵消都是不变的。

但我想知道这对我的问题有什么用呢?因为我想要没有夏令时的时区名称而不是任何带偏移的时间。

2 个答案:

答案 0 :(得分:0)

如果你只需要与GMT 相关的时区而没有会计DST,最简单的选择是:

  1. 使用' daylightSavingTimeOffset'查找DST偏移量。在你怀疑的时区。

  2. 从时区的GMT偏移量中减去该值。

  3. 使用现在调整的偏移量创建新时区。

  4. 如果您需要标准时区的名称,最简单的方法可能就是寻找" DST"和"日光"在时区描述中,然后选择具有与DST时区匹配的最大字数的时区。这可能不是最优雅的解决方案,但它适用于大多数时区。

答案 1 :(得分:0)

实际上就是这个

typedef enum : NSInteger {
   NSTimeZoneNameStyleStandard,
   NSTimeZoneNameStyleShortStandard,
   NSTimeZoneNameStyleDaylightSaving,
   NSTimeZoneNameStyleShortDaylightSaving,
   NSTimeZoneNameStyleGeneric,
   NSTimeZoneNameStyleShortGeneric 
} NSTimeZoneNameStyle;

enum为我回答了这个问题。我的坏,我应该早点读完。